有人能帮我吗为什么下面被扔了
线程“main”javax中出现异常。xml。绑定JAXBException:类com。jaxb。模型复制复制Snapshot及其任何超类都不为本文所知。在com上。太阳xml。绑定v2。运行时。JAXBContextImpl。getBeanInfo(JAXBContextImpl.java:588)位于com。太阳xml。绑定v2。运行时。XMLSerializer。childAsRoot(XMLSerializer.java:482)位于com。太阳xml。绑定v2。运行时。马歇尔雷普。在com上编写(MarshallerImpl.java:323)。太阳xml。绑定v2。运行时。马歇尔雷普。javax上的marshall(MarshallerImpl.java:251)。xml。绑定帮手。抽象的。在com上封送(未知源)。jaxb。模型复制复制演示。main(Demo.java:29)
演示类
package com.jaxb.model.copy.copy;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;
public class Demo
{
public static void main(String[] args) throws Exception {
JAXBContext jc = JAXBContext.newInstance("com.jaxb.model.copy.copy");
Snapshot snapshot = new Snapshot();
Marshaller marshaller = jc.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.marshal(snapshot, System.out);
}
}
对象工厂类
package com.jaxb.model.copy.copy;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.*;
import javax.xml.namespace.QName;
@XmlRegistry
public class ObjectFactory {
@XmlElementDecl(namespace = "http://soma/201407",name="bar")
public JAXBElement<Foo.Detail.Bar> createBar(Foo.Detail.Bar bar) {
return new JAXBElement<Foo.Detail.Bar>(new QName("bar"), Foo.Detail.Bar.class, bar);
}
}
快照类包com。jaxb。模型复制复制
import java.util.Date;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.guthyrenker.soma.ws.rest.v1.adapter.JsonDateTimeSerializer;
/**
* @author Srinivasa Kankipati
* @since 1.0
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(propOrder = { "mask", "xmlns", "currentAsOf","foo" })
@XmlRootElement(name = "snapshot")
public class Snapshot
{
@XmlAttribute
public String mask;
@XmlElement
public Date currentAsOf;
@XmlAttribute
@JsonIgnore
public String xmlns;
@XmlElement(name = "foo")
private Foo foo;
public String getMask() {
return mask;
}
public void setMask(String mask) {
this.mask = mask;
}
public Date getCurrentAsOf() {
return currentAsOf;
}
public void setCurrentAsOf(Date currentAsOf) {
this.currentAsOf = currentAsOf;
}
public String getXmlns() {
return xmlns;
}
public void setXmlns(String xmlns) {
this.xmlns = xmlns;
}
public Foo getFoo() {
return foo;
}
public void setFoo(Foo foo) {
this.foo = foo;
}
}
Foo类
package com.jaxb.model.copy.copy;
import java.math.BigDecimal;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlValue;
import com.guthyrenker.soma.ws.rest.v1.model.ObjectFactory;
import com.guthyrenker.soma.ws.rest.v1.model.WSMarketingOfferOP;
import com.guthyrenker.soma.ws.rest.v1.model.WSMarketingOfferWEB;
import com.jaxb.model.copy.Snapshot;
import com.jverstry.annotations.generics.Market;
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
@XmlSeeAlso({Snapshot.class})
public class Foo {
@XmlElement
protected Detail detail;
public Detail getDetail() {
return detail;
}
public void setDetail(Detail detail) {
this.detail = detail;
}
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = { "bar"})
public static class Detail
{
@XmlElementRef(name="bar")
private JAXBElement<Foo.Detail.Bar> bar;
public JAXBElement<Foo.Detail.Bar> getBar() {
return bar;
}
public void setBar(JAXBElement<Foo.Detail.Bar> bar) {
this.bar = bar;
}
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = { "value" })
public static class Bar
{
@XmlAttribute
protected String baz;
@XmlValue
protected BigDecimal value;
public String getBaz() {
return baz;
}
public void setBaz(String baz) {
this.baz = baz;
}
public BigDecimal getValue() {
return value;
}
public void setValue(BigDecimal value) {
this.value = value;
}
}
}
}
在当前设置中,您的JAXBContext
不会知道您的Snapshot
类。当您在上下文路径上创建JAXBContext
时,JAXB将首先为从ObjectFactory
引用的类(或在JAXB.index
文件中列出的类)创建元数据,然后它将拉入它可以传递到的每个类。
您可以执行以下操作:
JAXBContext.newInstance(ObjectFactory.class, Snapshot.class);
当我在编组一个对象时,我得到了这个异常:javax.xml.bind.JAXBExctive: class订阅,它的任何超类对此上下文都是已知的。 我知道有@xmlsee和修改jaxb类的解决方案,但当我们从XSD/WSDL文件生成jaxb类时,我们无法更改它们。因此,这些解决方案不适用于这种情况。
我正在尝试制作一个cordova插件。我的所作所为 另外,我已经安装了AndroidStudio4.1
我在线程“main”java中遇到异常。错误:未解析编译。 我做错了什么? 线程“main”中出现异常: java.lang.错误:未解决的编译问题: 对于类型在
我正在尝试在eclipse中创建jms发布者/订户聊天应用程序。 尝试运行程序时,控制台中出现以下错误
我从GitHub克隆了我的项目,现在我无法运行我的项目。 我收到以下错误: 知道是什么导致了这个错误吗? 编辑 我检查了这个问题Intellij在我发布到这里之前突然抛出ClassNotFoundException,它没有给我任何解决方案...为什么要将我的问题标记为重复,因为那个问题不能解决我的问题?
我得到了这个错误: 线程“main”Java.lang.NosuchFielderRror:calificacion.main处的num1异常(problema_3.Java:17) 在这个简单的终端Java程序上键入第一个值后: 另一方面,这一个运行良好,我使用相同的输入法在这两个: 提前道谢。