我在使用Nexus作爲存儲庫管理器的Maven項目上工作。總之有3個部分:「商業」(包裝在.jar中),「網絡」(包裝在.war中)和「耳朵」(將整個東西包裝在.ear中)在Nexus上上傳一個jar後Maven項目中的ClassNotFound異常
我工作得很好,但最近我一直在試圖增加一個「自定義」罐子(用於MD5密碼轉換)到存儲庫,它沒有工作這麼好,我做了以下內容:
- 了java的從網站的文件(www.twmacinta.com )用md5轉換字符串。
- 用它作爲我的項目中的java文件,它工作得很好,然後我決定把它做成一個罐子。
- 用javac編譯源代碼。
- 使用「jar」命令創建存檔(「com/twmacinta/util/MD5-2.7.1.jar」)。
- 連接到Nexus並上傳罐子。
在Businness部分找到我的pom.xml文件,通過選項卡「Dependency」和「Add ...」(它找到了jar,沒問題)添加依賴關係,將它添加到我的pom.xml文件中:
<dependency> <groupId>com.twmacinta.util</groupId> <artifactId>MD5</artifactId> <version>2.7.1</version> </dependency>
加在我的生意類進口(它會自動發現進口,沒有問題)是這樣的:
import com.twmacinta.util.MD5;
有在THI沒有錯誤所以我去幹淨/安裝/重新部署,一切都很好。
但是,當我試圖登錄我的申請,我得到了以下異常:
java.lang.ClassNotFoundException: com.twmacinta.util.MD5
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
[...]
的MD5-2.7.1.jar顯示了在商業和耳朵的MavenDependencies,它看起來像任何其他圖書館我已經使用(對於所有我可以告訴),所以我不明白這一點...
請幫我=)
薩科
是的,它是在Nexus下,像其他瓶子一樣,從這一側沒有問題,我認爲=) – Nicolas
糟糕,我的意思是「它就像這樣在Nexus上」,com/twmacinta/util/MD5/2.7.1/MD5 -2.7.1.jar層次結構 – Nicolas
如果您的項目是一個Web項目,jar文件是否與應用程序(web-inf/lib)一起正確部署?我知道,在以前的Eclipse WTP版本中,需要手動修改Java EE依賴關係,否則將不會部署jar(替代方法是執行mvn eclipse:clean eclipse:eclipse來重新生成文件..) – dSebastien