在 Eclipse 上启动 Java 应用程序时出错

Error in launching Java application on Eclipse

我刚刚在 Windows 10 上安装了 Eclipse(2020 版)和 IBM ILOG CPLEX(12.6.9 版),以 运行 我已经拥有的 Java 代码。

该代码使用 CPLEX 的 Java API,所以我按照 these few instructions (on CPLEX Official Page) - 他们解释设置 jardll 文件路径 - 到设置 Eclipse 以使用 CPLEX 的 Java API。

我遵循了这些步骤,但是当我启动执行时,我得到了这个错误:

Error: Unable to initialize main class Scheduler_1 Caused by: java.lang.NoClassDefFoundError: ilog/concert/IloNumExpr

附加信息: 导航到 Run > Run Configurations ... > Java Application 和 selecting Arguments tab 后,如果我单击 Show Command Line,将出现一个显示此输出行的对话框(我不知道它是否正确):

`C:\Users\MY_USERNAME\Downloads\eclipse-java-2020-12-R-win32-x86_64\eclipse\plugins\org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_15.0.1.v20201027-0507\jre\bin\javaw.exe`

`-Djava.library.path=CPLEX_Studio_Community129/cplex/bin/x64_win64`

`-Dfile.encoding=Cp1252`

`-p "C:\Program Files\IBM\ILOG\CPLEX_Studio_Community129\cplex\lib\cplex.jar"`

`-classpath "C:\Users\MY_USERNAME\eclipse-workspace\proj1\bin"`

`-XX:+ShowCodeDetailsInExceptionMessages Scheduler_1`

有谁知道我遇到错误的原因是什么?


要添加更多详细信息:这些是我遵循的步骤:

  1. 下载 Eclipse 2020-12“.zip”文件并保存在“下载”文件夹中,并下载 CPLEX 12.6.9“exe”文件

  2. 将 Eclipse 2020-12“zip”解压缩到“下载”内的一个文件夹(与“zip”同名),然后我安装 Eclipse 和 CPLEX(在 Windows 10), 通过双击它们各自的“exe”文件

  3. 打开Eclipse,新建一个Eclipse Java项目,名称为proj1

  4. proj1/src/

    中添加了四个“.java”源文件(从我电脑的另一个文件夹复制粘贴)
  5. 在 Eclipse GUI 上:

    • Project > Properties > Java Build Path > Libraries
    • 出现对话框时,单击按钮 Add External JARs
    • 然后在浏览位置后,我 select 名为 cplex.jar 的文件。
  6. 在 Eclipse GUI 上:

    • Run > Run Configurations ... > Java Application
    • 当对话框出现时,我转到 Main tab,然后 select 我的 Main Class(称为 Scheduler_1
    • 然后,我转到 Arguments tab,我 select VM arguments,并将路径添加到 CPLEX 库,所以在我的例子中: -Djava.library.path=CPLEX_Studio_Community129/cplex/bin/x64_win64,也就是cplex1290.dll
    • 的路径
  7. 我 运行 Java 应用程序,我收到错误:

Error: Unable to initialize main class Scheduler_1 Caused by: java.lang.NoClassDefFoundError: ilog/concert/IloNumExpr

此外,IloNumExpr在我的代码中甚至没有使用,而且,无论如何,它包含在cplex.jar中(我自己检查过)。

其他细节:这是我项目的directory structure(我可以从Package Explorer中看到,它是Eclipse [=36]的一部分=]):

看来我的问题终于解决了! 我 post 这里是对遇到相同错误的任何人都适用的方法。

我导航到 Project -> Properties -> Build Path,然后单击 Dependencies Tab,然后从 Modulepath Entries 中删除了 cplex.jar,并将其添加到 Classpath Entries

至此,之前的错误已经解决