2011-11-19 67 views
0

我對Java有這個非常奇怪的問題(使用Eclipse作爲IDE)。我正在研究EJB & Servlet分配,並將EJB接口&輔助類作爲JAR文件導出。當我將JAR導入到Servlet項目中時,我無法訪問其中一種公共方法。我通過啓動另一個項目來測試JAR文件,並且可以訪問JAR中的所有助手類的公共方法。Java缺少JAR的公開方法

Servlet項目和測試器項目之間的主要區別在於Servlet項目使用的是舊版本的JAR。我添加了1個新的公共方法並重新導出&重新導入JAR,問題依然存在。

package helper; 

public class RespCodeType { 

private String code,msg,output; 

public RespCodeType() 
{ 
    code = ""; 
    msg = ""; 
    output =""; 
} 

public String getCode() { 
    return code; 
} 

public void setCode(String code) { 
    this.code = code; 
} 

public String getMsg() { 
    return msg; 
} 

public void setMsg(String msg) { 
    this.msg = msg; 
} 

public String getOutput() { 
    setOutput(new String("Result: " + code + ". " + msg + ".")); 
    return output; 
} 

public void setOutput(String output) { 
    this.output = output; 
} 
} 

我添加了「輸出」的getter &二傳手,但由於某種原因,它只是當我出口&導入修改的JAR將不能訪問它。

+0

**事實證明,我錯誤地導入了JAR。我最初將JAR的一個副本放在WEB-INF/lib下,這與後來的導入衝突,我只是複製到工作區目錄並添加到構建路徑中。一旦我從WEB-INF/lib中刪除了JAR,問題就解決了。** – MooCow

+3

您應該添加此評論作爲答案並接受它,以便人們可以輕鬆查看分辨率。 – Kane

回答

0

事實證明,我錯誤地導入了JAR。我最初將JAR的一個副本放在WEB-INF/lib下,這與後來的導入衝突,我只是複製到工作區目錄並添加到構建路徑中。一旦我從WEB-INF/lib中刪除JAR,問題就解決了。

1

嘗試在Eclipse中刷新項目,然後執行清理和重建。該類的舊版本可能會被緩存。

+0

我關閉自動構建,並按照建議,但沒有喜悅。 – MooCow

+0

好的,我安裝了更新版本的Eclipse,問題沒有消失。我保留了舊的工作區。 – MooCow