java - 结合 CPLEX 和 JAVA

标签 java eclipse netbeans cplex

Java - CPLEX

对于大学的研讨会,我需要用 java 编写一个模型。

由于这是一个最大化问题,我还需要涉及 CPLEX 方法。因此,我在 Mac OS X 版本 10.5.8 上成功安装了 CPLEX。

为了结合 CPLEX 和 Eclipse(我也用 Netbeans 尝试过),我将我当前的项目与 CPLEX 库 ( 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/

    相关文章:

    java - GridBagLayout:最后一个组件影响网格宽度

    java - Java getAbsolutePath返回错误的路径

    java - 像Netbeans一样的Bean Properties Editor/Sheet

    java - Android:这个 VideoView 有什么问题?

    java - 将基于 XML 的域模型描述转换为类似域模型的 EMF

    java - 如何在 NetBeans 中将图像或任何文件添加到我的项目中

    php - 如何更改默认的 Netbeans 7 项目目录?

    java - 如何将文本从一个 Activity 传递到另一个 Activity (android studio)

    java - 为什么我的Java程序合并2个整数数组,只在某一点给出正确的输出?

    java - Thread.sleep()是否不让其他线程运行?