在linux 2中编译java中的Cplex

时间:2015-07-23 01:24:56

标签: java linux cplex

我正在尝试运行file.java和file.class,因为我需要使用Cplex库(优化问题)

$ javac -cp /home/apps/cplex/12.6.1/cplex/lib/cplex.jar file.java
$ java -cp /home/apps/cplex/12.6.1/cplex/lib/cplex.jar:. file
当我在Compile Cplex in Java in linux询问时,我建议使用

。我终于结束了我的文件的更正(在linux中没有用的东西,并且第一行工作,但是在第二行我得到了这个错误......

java.lang.UnsatisfiedLinkError: no cplex1261 in java.library.path
java.library.path must point to the directory containing the CPLEX shared library
try invoking java with java -Djava.library.path=...
Exception in thread "main" java.lang.UnsatisfiedLinkError: ilog.cplex.Cplex.CPXopenCPLEX([I)J
        at ilog.cplex.Cplex.CPXopenCPLEX(Native Method)
        at ilog.cplex.CplexI.init(CplexI.java:6608)
        at ilog.cplex.CplexI.<init>(CplexI.java:629)
        at ilog.cplex.IloCplex.<init>(IloCplex.java:10194)
        at ilog.cplex.IloCplex.<init>(IloCplex.java:10209)
        at memoria.bosques.problemafull(bosques.java:11395)
        at memoria.bosques.main2(bosques.java:17829)
        at memoria.bosques.main(bosques.java:18014)

我尝试更换java -Djava.library.path = / home / apps / cplex / 12.6.1 / cplex / lib / cplex.jar而不是-cp /home/apps/cplex/12.6.1/cplex/lib /cplex.jar但也没有工作。 错误发生在第一次定义Cplex的某些东西(在此之前运行正常)

IloCplex cplex = new IloCplex();

我该怎么做才能解决我的问题?

1 个答案:

答案 0 :(得分:0)

您需要完全按照错误消息中的建议执行操作。并调用java-Djava.library.path指向cplex共享模块的位置。

这样的事情:

java -cp /home/apps/cplex/12.6.1/cplex/lib/cplex.jar:. -Djava.library.path=/path/to/libcplex121.so file