Java - CPLEX
为了参加大学的研讨会,我需要用 java 编写一个模型。
由于这是一个最大化问题,我还需要涉及 CPLEX 方法。因此,我在我的 Mac OS X 版本 10.5.8 上成功安装了 CPLEX。
为了结合 CPLEX 和 Eclipse(我也尝试过使用 Netbeans),我将我当前的项目与 CPLEX 连接起来em> 库(Properties>Library>Add Library
)。
Eclipse 可以识别库,因为这些方法没有加下划线。此外,我将以下参数提交到我的运行配置中:
-Djava.library.path=/Users/myname/Applications/IBM/ILOG/CPLEX_Studio126/cplex/bin/x86-64_osx
当我尝试运行示例代码(有效)时,出现以下错误:
java.lang.UnsatisfiedLinkError: /Users/myname/Applications/IBM/ILOG/CPLEX_Studio126/cplex/bin/x86-64_osx/libcplex1260.jnilib: no suitable image found. Did find: /Users/myname/Applications/IBM/ILOG/CPLEX_Studio126/cplex/bin/x86-64_osx/libcplex1260.jnilib: unknown required load command 0x80000022Exception 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:6594)
at ilog.cplex.CplexI.<init>(CplexI.java:629)
at ilog.cplex.IloCplex.<init>(IloCplex.java:11067)
at ilog.cplex.IloCplex.<init>(IloCplex.java:11082)
at Knapsack.buildModel(Knapsack.java:54)
at Knapsack.main(Knapsack.java:122)
java.library.path must point to the directory containing the CPLEX shared library
try invoking java with java -Djava.library.path=...
你能帮帮我吗,我不知道该怎么办了。
谢谢你的回答
最佳答案
我遇到同样的问题时发现了这个问题。按照互联网的建议,发现我把 -Djava.library.path 参数放在了错误的地方......你真的应该仔细检查不仅是路径,而且如果你把你的参数放在正确的地方并正确输入.这看起来很傻但是发生了:)
无论如何,就我而言,我使用的是 NetBeans,我去了:
- 项目属性
- 运行
在 VM 选项文本字段中:
-Djava.library.path=/Applications/IBM/ILOG/CPLEX_Studio126/cplex/bin/x86-64_osx
希望对你有帮助
关于java - 结合 CPLEX 和 JAVA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23640003/