Installing Google or-tools with gradle project on Windows 10 (Intellij IDEA)

ぃ、小莉子 提交于 2019-12-10 23:16:36

问题


Is it possible to install the library on IntelliJ Idea?

or do I have to use Visual Studio 2017?

If so, how do I install it? I find the google documentation confusing.


回答1:


In case anyone else comes here, this is my configuration for building and running OR-tools with Gradle.

First of all, I have a top-level project where I have application-related code, called suite, and a module where I have separated all the OR-Tools related code, called optimization. In the optimization module, I have a folder lib which contains the following files (not sure if you need all of them):

com.google.ortools.jar
libcvrptw_lib.so
libdimacs.so
libjniortools.so
libortools.so

As you can see, there's no protobuf.jar here -this comes later. Then I added the following to my existing top-level build.gradle file:

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'

Note that for applicationDefaultJvmArgs you have to change the path to your lib folder. And of course, update mainClassName to your main class.

And finally, in the build.gradle of my optimization module I added the following dependencies:

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

The above compiles ortools.jar from the lib folder and downloads the protobuf-java library from mavenCentral.

PS. Don't forget to load the jniortools library in your Java class that accesses OR-tools:

static {
    System.loadLibrary("jniortools");
}

Obviously, you don't need sub-modules to make this work - this is just my implementation. Hope this helps.




回答2:


We provide prebuilt binaries archives cf https://developers.google.com/optimization/install/java/windows#installing-or-tools so you don't need visual studio to only consume it...

Then to use it in Gradle you'll need to extract the lib/com.google.ortools.jar, lib/protobuf.jar, the JNI file jniortools.dll which may also depends on the ortools.lib.

Take a look at the Makefile rule rjava to know the parameters to set and try to add it to your gradle project...

Something like this:

javac -d output_dir -cp lib/com.google.ortools.jar;lib/protobuf.jar YourFile.java
java -Djava.library.path=lib -cp output_dir;lib/com.google.ortools.jar;lib/protobuf.jar YourFile

So you must know how class path and java library path are managed in Gradle....



来源:https://stackoverflow.com/questions/52518654/installing-google-or-tools-with-gradle-project-on-windows-10-intellij-idea

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!