【发布时间】:2013-04-17 12:58:56
【问题描述】:
我有以下 XML
@XmlRootElement
@XmlType(propOrder = { "name", "transforms", "qualitycontrols"})
@XmlAccessorType(XmlAccessType.NONE)
public class Process {
@XmlElement
private String name;
@XmlElement(name = "transform")
private List<Transform> transforms = new ArrayList<Transform>();
@XmlElement(name = "qualitycontrol")
private List<QualityControl> qualitycontrols = new ArrayList<QualityControl>();
public Process() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void add(Transform transform) {
transforms.add(transform);
}
public List<Transform> getTransforms() {
return transforms;
}
public List<QualityControl> getQualitycontrols() {
return qualitycontrols;
}
public void add(QualityControl qualitycontrol) {
qualitycontrols.add(qualitycontrol);
}
}
转换节点工作正常,我添加了质量控制节点,但无法正常工作。
@XmlRootElement(name="qualitycontrol")
@XmlType(propOrder = { "template"})
public class QualityControl {
private String template;
public QualityControl() {
}
public String getTemplate() {
return template;
}
public void setTemplate(String template) {
this.template = template;
}
}
当我使用 public static main 测试此代码时,一切正常,但是当它部署到服务器时,我收到以下消息: 错误 [ProcessMDB] java.lang.NoSuchMethodError: model.Process.getQualitycontrols()Ljava/util/List;
我错过了什么? 非常感谢所有帮助。
谢谢 乔伊。
【问题讨论】:
-
服务器上部署的库的jar(相同版本)是否与本地机器上的相同?
-
我检查了生成的类文件。它确实有 .getQualitycontrols() 方法。
-
获取这个类也捆绑在war文件中?
-
它在 lib 文件夹中。在一个罐子里。它不应该在战争文件中。
-
然后lib文件夹里的jar换成了新的?如果你从 lib 文件夹中删除 jar,你会得到同样的错误吗?也许 JVM 从它在类路径上看到的另一个 jar 加载类......
标签: java xml xml-parsing jaxb jax-ws