java - 在 Windows 10 (Intellij IDEA) 上使用 gradle 项目安装 Google or-tools
问题描述
是否可以在 IntelliJ Idea 上安装该库?
还是我必须使用 Visual Studio 2017?
如果是这样,我该如何安装它?我发现谷歌文档令人困惑。
解决方案
万一其他人来到这里,这是我使用 Gradle 构建和运行 OR-tools 的配置。
首先,我有一个顶级项目,其中有与应用程序相关的代码,称为suite
,还有一个模块,其中我分离了所有与 OR-Tools 相关的代码,称为optimization
. 在optimization
模块中,我有一个文件夹lib
,其中包含以下文件(不确定是否需要所有文件):
com.google.ortools.jar
libcvrptw_lib.so
libdimacs.so
libjniortools.so
libortools.so
如您所见,这里没有protobuf.jar
- 这稍后会出现。然后我将以下内容添加到现有的顶级build.gradle
文件中:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.6'
}
...
}
apply plugin: 'application'
applicationDefaultJvmArgs = ["-Djava.library.path=optimization/lib"]
mainClassName = 'com.package.name.MainClass'
请注意,applicationDefaultJvmArgs
您必须更改lib
文件夹的路径。当然,更新mainClassName
到您的主要课程。
最后,在build.gradle
我的optimization
模块中,我添加了以下依赖项:
dependencies {
compile files('lib/com.google.ortools.jar')
compile 'com.google.protobuf:protobuf-java:3.0.0'
...
}
ortools.jar
以上从lib
文件夹编译并protobuf-java
从mavenCentral
.
PS。不要忘记jniortools
在访问 OR 工具的 Java 类中加载库:
static {
System.loadLibrary("jniortools");
}
显然,您不需要子模块来完成这项工作——这只是我的实现。希望这可以帮助。
推荐阅读
- json - wp-insert-post 创建重复项
- postgresql - 如何向父表和子表插入数据
- angular - 如何在ngselect中搜索值?
- android - 搜索栏不起作用
- java - 通过单独运行批处理微服务在 Spring Cloud Data Flow 上部署 Spring Batch 应用程序
- python - 如何使用 wlst 使用 python 脚本获取部署 heatlh
- reactjs - React native - 无法在没有 Expo 的情况下启动服务器连接到开发服务器
- c++ - 如何在 C++11 的模板中使用模板?
- node.js - 使用无服务器框架上传时文件在 S3 上损坏
- json - 如何使用邮递员在错误消息中返回键/值进行 ajv 验证