首页 > 解决方案 > 在 Eclipse 上启动 Java 应用程序时出错

问题描述

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

该代码使用 CPLEX 的 Java API,所以我按照这些说明(在 CPLEX 官方页面上) ——他们解释了设置一个jar和一个dll文件路径——来设置 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并选择后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" 文件并保存在 "Download" 文件夹中,并下载 CPLEX 12.6.9 "exe" 文件

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

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

  4. 在里面添加了四个“.java”源文件(从我电脑的另一个文件夹复制粘贴)proj1/src/

  5. 在 Eclipse GUI 上:

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

    • Run > Run Configurations ... > Java Application
    • 当对话框出现时,我转到Main tab,然后选择我的Main Class(称为Scheduler_1
    • 然后,我转到Arguments tab,我选择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 ExplorerEclipse 中看到Workspace):

标签: javaeclipseinstallationjarcplex

解决方案


最后看来我解决了我的问题!我在这里发布对遇到相同错误的任何人有用的方法。

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

现在,之前的错误解决了。


推荐阅读