【问题标题】:Compile Cplex in java in Linux 2在 Linux 2 中用 java 编译 Cplex
【发布时间】:2015-07-23 01:24:55
【问题描述】:

我正在尝试运行一个 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();

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

【问题讨论】:

    标签: java linux cplex


    【解决方案1】:

    您需要完全按照错误消息中的建议进行操作。并调用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
    

    【讨论】:

    • 我找到了一个 libcplex.a 但我在任何地方都看不到 .so ,我必须使用 libcplex121.so 还是 libcplex121.a 吗??
    • 如果您正确安装和配置了 Cplex,您必须拥有 libcplex.so 文件。 -Djava.library.path 必须指向包含该文件的目录。正确安装和配置 Cplex。
    • 我在 opl 文件夹中找到了一个并使用了 java -cp /home/apps/cplex/12.6.1/cplex/lib/cplex.jar:。 -Djava.library.path=/home/apps/cplex/12.6.1/opl/bin/x86-64_linux/libcplex1261.so memoria/bosques 但也没有用...:/
    • -Djava.library.path=/home/apps/cplex/12.6.1/cplex/bin/x86-64_linux/libcplex1261.so 是另一个...没有工作:(
    • 试试 -Djava.library.path=/home/apps/cplex/12.6.1/cplex/bin/x86-64_linux
    猜你喜欢
    • 2015-10-11
    • 2011-07-26
    • 1970-01-01
    • 1970-01-01
    • 2016-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多