CPLEX 12.8.0运行时错误

时间:2018-06-09 01:17:12

标签: cplex

我正在尝试在我的macbook上运行CPLEX java代码。我已经安装了CPLEX studio 12.8.0版本。

编译代码没有问题,但是当我尝试运行代码时,它会给我以下运行时错误。

错误

java.lang.ExceptionInInitializerError
    at test.java.cplexTests.TestCplexExecutor.testCreateHiveModel(TestCplexExecutor.java:39)
Caused by: java.lang.RuntimeException:
Native code library failed to load: ensure the appropriate library (opl1280.dll/.so) is in your path.
Exceptions:
no opl1280 in java.library.path
no oplb in java.library.path
no opl_lang_wrap_cpp in java.library.path
no opl_core_wrap_cpp_java1280 in java.library.path
no opl_core_wrap_cpp in java.library.path
no cp_oaas1280 in java.library.path
no cp_oaas in java.library.path
no cp_wrap_cpp_java1280 in java.library.path
no cp_wrap_cpp in java.library.path
no concert_wrap_cpp_java1280 in java.library.path
no concert_wrap_cpp in java.library.path

以下是我使用运行代码的命令

mvn -Djava.library.path=/Applications/CPLEX_Studio_Community128/opl/bin/x86-64_osx  clean test

存在 opl1280 名称的唯一文件如下所述

  

/Applications/CPLEX_Studio_Community128/opl/bin/x86-64_osx/libopl1280.dylib

1 个答案:

答案 0 :(得分:0)

终于发现了一个问题,由于某种原因,提供的路径被忽略了。在调试模式下运行maven时收到了该消息。 mvn -X

在surefire插件配置中添加了路径,它解决了我的问题。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.21.0</version>
    <dependencies>
        <dependency>
            <groupId>org.apache.maven.surefire</groupId>
            <artifactId>surefire-junit4</artifactId>
            <version>2.21.0</version>
        </dependency>
    </dependencies>
    <configuration>
        <forkMode>once</forkMode>
        <argLine>-Djava.library.path=/Applications/CPLEX_Studio_Community128/opl/bin/x86-64_osx:/Applications/CPLEX_Studio_Community128/opl/oplide/</argLine>
    </configuration>
</plugin>