我已经阅读了很多论坛,但对于IntelliJ Idea却一无所获。

我不是开发人员,但是我在Debian上管理Tomcat8服务器。

开发人员希望在其Grails应用程序中使用IBM ILOG CPLEX。他使用IDE“IntelliJ Idea”。
他将通过创建如下对象来使其工作:

// Create the shape / object solver
            IloCplex CPLEX IloCplex = new ();
            System.out.println ( "\ n IloCplex CPLEX IloCplex = new ();");
        ...
        ...

PC用户是Windows,并且已安装IntelliJ IDEA和CPLEX。
使用此配置,程序可以运行。

当程序导出.war并传输到tomcat服务器时,它不再起作用。

我们有错误:
Error 500: Internal Server Error

    line | method
- 1145 >> | runWorker in java.util.concurrent.ThreadPoolExecutor
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 615 | run in java.util.concurrent.ThreadPoolExecutor $ Worker
^ 745 | run. . . in java.lang.Thread

Caused by ControllerExecutionException: Runtime error executing actions
- 1145 >> | runWorker in java.util.concurrent.ThreadPoolExecutor
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 615 | run in java.util.concurrent.ThreadPoolExecutor $ Worker
^ 745 | run. . . in java.lang.Thread

Caused by InvocationTargetException: null
- 1145 >> | runWorker in java.util.concurrent.ThreadPoolExecutor
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 615 | run in java.util.concurrent.ThreadPoolExecutor $ Worker
^ 745 | run. . . in java.lang.Thread

Caused by UnsatisfiedLinkError: ilog.cplex.Cplex.CPXopenCPLEX ([I) J
- 6594 >> | init in ilog.cplex.CplexI
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 629 | <Init> in '
| 11067 | <Init>. ilog.cplex.IloCplex in
| 11082 | <Init> in '
| 93 | save. . agriplan.APProjectController in
| 1145 | runWorker in java.util.concurrent.ThreadPoolExecutor
| 615 | run. . . java.util.concurrent.ThreadPoolExecutor $ Worker in
^ 745 | run in java.lang.Thread

开发人员告诉我这是从IloCplex CPLEX行开始的。IloCplex = new();
那是行不通的。

我想问题是找不到CPLEX的程序
因此,我在Grails选项“VM options”中添加了CPLEX的路径:
-Djava.library.path = / Opt / IBM / ILOG / CPLEX_Studio126 / CPLEX / bin / x86-64_linux

但是我有同样的错误

用户没有忘记在程序库中实现cplex.jar

问题是在服务器端还是在应用程序内?
在IntelliJ Idea中他在其他地方有话要说吗?

我们应该在IntelliJ Idea中声明其他内容吗?

非常感谢你

最佳答案

如果运行CPLEX附带的Java示例,是否会遇到相同的错误?要对此进行测试,您可以执行以下操作(假设您的路径从上面是正确的):

$ cd /Opt/IBM/ILOG/CPLEX_Studio126/CPLEX/examples/x86-64_linux/static_pic
$ make execute_java 2>&1 | tee output.txt

这会将输出保存在output.txt中,以便您以后查看。它应该使您了解所需的命令行参数是什么。

例如,在我的系统上,我在output.txt中看到以下示例之一:
java  -d64 -Djava.library.path=../../../bin/x86-64_linux -classpath ../../../lib/cplex.jar: LPex3

许多人只需要在“VM Options”部分中添加-d64-classpath(具有正确的路径)(我没有使用IntelliJ,但是“VM Options”听起来很合理)。

最后,请参阅Configuring the Eclipse Java IDE to use CPLEX libraries(IBM技术说明,应该使您对IDE的要求有个好主意)。

关于java - 如何使用CPLEX配置IntelliJ Idea,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37879218/

10-11 15:05