cplex - CPLEX 12.8.0 运行时错误
问题描述
我正在尝试在我的 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
解决方案
终于发现了一个问题,由于某种原因,提供的路径使用被忽略了。当我在调试模式下运行 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>
推荐阅读
- vue.js - 数据更改时,Vue 不会重新渲染绑定的类
- android - 单击android WebView中的链接未开始下载文件
- javascript - 如何将列表中的值存储到 ReactJS 中的对象数组中
- xslt-1.0 - 当我需要考虑两个 xml 节点的内容时,如何使用 XPath 1.0 在 XML 中找到不同的节点
- url - Yii2 要在 URL 中传递的多个变量
- python - 与在 opencv python 中创建 RGB 图像的掩码相关的问题
- laravel - 我们如何在 5.7 版本的 laravel 中安装 composer require spatie/laravel-searchable
- ios - 如何在 urlRequest 中将 urlencoded 参数添加到 httpBody
- android - 步进器的自定义按钮设计
- node.js - 在云实例上 Dockerizing 平均堆栈应用程序并在浏览器上访问它