在 Windows 10 (Intellij IDEA) 上使用 gradle 项目安装 Google or-tools

Mat*_* Z. 7 java intellij-idea gradle visual-studio or-tools

是否可以在 IntelliJ Idea 上安装该库?

还是我必须使用 Visual Studio 2017?

如果是这样,我该如何安装它?我发现谷歌文​​档令人困惑。

Gio*_*gos 8

如果其他人来到这里,这是我使用 Gradle 构建和运行 OR 工具的配置。

首先,我有一个顶级项目,其中包含与应用程序相关的代码,称为suite,以及一个模块,其中我将所有与 OR-Tools 相关的代码分开,称为optimization. 在optimization模块中,我有一个文件夹lib,其中包含以下文件(不确定您是否需要所有文件):

com.google.ortools.jar
libcvrptw_lib.so
libdimacs.so
libjniortools.so
libortools.so
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,这里没有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'
Run Code Online (Sandbox Code Playgroud)

请注意,applicationDefaultJvmArgs您必须更改lib文件夹的路径。当然,更新mainClassName到你的主类。

最后,在build.gradle我的optimization模块中,我添加了以下依赖项:

dependencies {
    compile files('lib/com.google.ortools.jar')
    compile 'com.google.protobuf:protobuf-java:3.0.0'
    ...
}
Run Code Online (Sandbox Code Playgroud)

以上ortools.jarlib文件夹编译并protobuf-javamavenCentral.

附注。不要忘记jniortools在访问 OR 工具的 Java 类中加载库:

static {
    System.loadLibrary("jniortools");
}
Run Code Online (Sandbox Code Playgroud)

显然,您不需要子模块来完成这项工作——这只是我的实现。希望这可以帮助。