我已經構建了一臺新機器并安裝了新版本的 eclipse(Eclipse IDE for Java Developers 2021-06)。如果我運行一個舊專案,它可以作業。如果我創建一個新專案,則會出現以下錯誤。
執行緒“main”中的例外 java.lang.NoClassDefFoundError: net/crl/CRLibs/DBI at EnvList.(EnvList.java:143) 原因:java.lang.ClassNotFoundException: net.crl.CRLibs.DBI
沒有錯誤代碼。構建路徑如下所示:

Line:143 is: static DBI db = new DBI();
DBI 在 crlibs jar 中定義。在我的舊 Eclipse (Oxygen) 中,構建路徑如下所示:

我嘗試將 crlibs jar 添加到 Classpath,但它不會讓我保存它(所有框都變灰)。現在這段代碼是我使用的模板的副本。原版運行得很好,它的構建路徑看起來像來自 Oxygen 的路徑。
如果我注釋掉這一行,它將在下一次訪問庫時給出相同的錯誤。似乎沒有包含庫的類路徑。注意 該庫是用 Oxygen 構建的。我是否需要用新版本重建它,如果需要,它仍然適用于使用 Oxygen 構建的所有代碼。我該如何解決?
注意:面向 Web 開發人員的 Eclipse Java EE IDE。版本:Oxygen.3a 版本 (4.7.3a) 內部版本號:20180405-1200
以及面向 Java 開發人員的 Eclipse IDE(包括孵化組件)版本:2021-06 (4.20.0) 構建 ID:20210612-2011
編輯:這是 .classpath 檔案。:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="resources"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-16">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="E:/Documents and Settings/Cliff/libs/crlibs.jar" sourcepath="E:/Documents and Settings/Cliff/Libs_src/CRLibs/src/net/crl/CRLibs">
<attributes>
<attribute name="javadoc_location" value="file:/E:/Documents and Settings/Cliff/Libs_src/CRLibs/CRLibs/doc/"/>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="bin"/>
</classpath>
罐子的路徑在那里?
EDIT2
命令列:

uj5u.com熱心網友回復:
在下圖中

您必須從Modulepath中洗掉 jar,然后將其添加到Classpath。JRE 在 Modulepath 中似乎很好。一旦我的庫位于類路徑中,代碼就可以作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/415443.html
標籤:
上一篇:聯結器插入不必要的操作碼填充
