java - 在 Linux 2 中用 java 编译 Cplex

标签 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 中询问时推荐的.我终于结束了我的文件的更正(在 windows 中工作的东西在 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();

我能做些什么来解决我的问题?

最佳答案

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

像这样:

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

关于java - 在 Linux 2 中用 java 编译 Cplex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31576700/

相关文章:

Linux内核模块通过USB读取GPS设备

javascript - JavaScript 中循环的性能问题

linear-programming - 线性规划求解障碍后避免交叉的缺点

java - 访问 JAR 文件时出现 NotDirectoryException

java - 如何处理自定义 Alexa 技能中的自由文本?

java - 将 mysql 连接到 javafx 应用程序

java - 从另一个类获取类型

linux - 用于访问 Linux 服务器上所有用户帐户目录的 Perl 脚本

php - Exec 输出有时不正确地返回任何内容?

python - 如何在 CPLEX-PYTHON (不是 docplex)中生成一些可行的解决方案?