我創建了一個非常簡單的自定義類,它擴展了Exception,下面列出的代碼。我遇到的問題是,這個特定的類沒有被編譯到一個.class文件中(在build/classes目錄以及該項目的jar文件中)。所有其他類都被編譯爲.class文件並按預期打包到.jar文件中。自定義異常類未被編譯到.class文件中
jUnit測試運行正常,即使它們是從工作區中的其他項目運行的,但是當我嘗試從依賴於jar的另一個項目引用此項目時,代碼因NoClassDefFoundError異常而失敗,因爲它不能在生成的.jar文件中找到這個類。
我使用Eclipse和Maven。同一個項目中的所有其他類似乎都編譯得很好,Google和Stack Overflow都沒有找到任何線索。
類代碼如下:
public class DownstreamSystemFailureException extends Exception {
private static final long serialVersionUID = -5124591997847109725L;
@SuppressWarnings("unused")
private String systemDescription = null;
@SuppressWarnings("unused")
private Exception innerException = null;
public DownstreamSystemFailureException(String systemDescription, Exception innerException)
{
this.systemDescription = systemDescription;
this.innerException = innerException;
}
}
是不是在src樹中的異常的.java文件?它在一個奇怪的地方嗎?或者你的構建是否通過模式創建了不包含它的jar? – hvgotcodes 2011-02-01 19:17:43