JAR中缺少Java公共方法

JAR中缺少Java公共方法,java,jar,Java,Jar,我对Java(使用Eclipse作为IDE)有一个非常奇怪的问题。我正在处理EJB和Servlet分配,并将EJB接口和助手类导出为JAR文件。当我将JAR导入Servlet项目时,我无法访问其中一个公共方法。我通过启动另一个项目来测试JAR文件,并且可以访问JAR中所有helper类的公共方法 Servlet项目和tester项目之间的关键区别在于Servlet项目使用的是较旧版本的JAR。我添加了1个新的公共方法,并重新导出和重新导入JAR,问题仍然存在 package helper; p

我对Java(使用Eclipse作为IDE)有一个非常奇怪的问题。我正在处理EJB和Servlet分配,并将EJB接口和助手类导出为JAR文件。当我将JAR导入Servlet项目时,我无法访问其中一个公共方法。我通过启动另一个项目来测试JAR文件,并且可以访问JAR中所有helper类的公共方法

Servlet项目和tester项目之间的关键区别在于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;
}
}

我添加了“output”getter和setter,但由于某些原因,当我导出和导入修改后的JAR时,它无法访问它。

尝试在Eclipse中刷新项目,然后进行清理和重建。该类的旧版本可能被缓存。

结果是我错误地导入了JAR。我最初将JAR的一个副本放在WEB-INF/lib下,这与后来的导入冲突,我只是将其复制到工作区目录并添加到构建路径。一旦我从WEB-INF/lib中删除了JAR,问题就解决了。

我关闭了自动构建,并按照建议进行了操作,但没有带来任何乐趣。好的,我安装了一个更新版本的Eclipse,问题并没有消失。我保留了旧的工作区,结果是我错误地导入了JAR。我最初将JAR的一个副本放在WEB-INF/lib下,这与后来的导入冲突,我只是将其复制到工作区目录并添加到构建路径。一旦我从WEB-INF/lib中删除了JAR,问题就解决了。你应该添加这个注释作为答案并接受它,这样人们就可以很容易地看到解决方案。