Java Jaxb编组点变量

Java Jaxb编组点变量,java,xml,jaxb,point,Java,Xml,Jaxb,Point,因此,我开始使用Jaxb创建我在程序中使用的文件的XML副本 在代码中实现之后,我没有遇到任何问题,直到最近我在主类中添加了一个新类 当类为空/未使用时,它可以很好地保存/加载,但在尝试用一些数据整理类时,我会得到stackoverflowers错误。(在一种情况下,它将毫无问题地进行马歇尔试验??) 错误消息 Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError at sun.reflect.Reflec

因此,我开始使用Jaxb创建我在程序中使用的文件的XML副本

在代码中实现之后,我没有遇到任何问题,直到最近我在主类中添加了一个新类

当类为空/未使用时,它可以很好地保存/加载,但在尝试用一些数据整理类时,我会得到
stackoverflowers错误。(在一种情况下,它将毫无问题地进行马歇尔试验??)

错误消息

Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError
    at sun.reflect.Reflection.quickCheckMemberAccess(Reflection.java:84)
    at java.lang.reflect.Field.get(Field.java:388)
    at com.sun.xml.internal.bind.v2.runtime.reflect.Accessor$FieldReflection.get(Accessor.java:250)
    at com.sun.xml.internal.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(SingleElementNodeProperty.java:118)
    at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:345)
    at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:681)
    at com.sun.xml.internal.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(SingleElementNodeProperty.java:143)
    at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:345)
    at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:681)
    at com.sun.xml.internal.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(SingleElementNodeProperty.java:143)
    at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:345)
    at com.sun.xml.internal.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:681)
输出的
.xml
文件在遇到我添加的新类之前看起来是正常的,而我添加的新类就是坏的地方

<positionPercentage>
                        <x>0</x>
                        <y>0</y>
                        <location>
                            <x>0</x>
                            <y>0</y>
                            <location>
<x>0</x>
<y>0</y>
<location>
    <x>0</x>
    <y>0</y>
    <location>
        <x>0</x>
        <y>0</y>
        <location>
            <x>0</x>
            <y>0</y>
            <location>
                <x>0</x>
                <y>0</y>
                <location>
                    <x>0</x>
                    <y>0</y>
                    <location>
                        <x>0</x>
                        <y>0</y>
                        <location>
                            <x>0</x>
                            <y>0</y>
                            <location>
我不知道
项目是什么,或者它来自哪里

我的所有类都使用
@xmlacessortype(xmlacesstype.FIELD)
,我的主类
Store
使用code
@XmlRootElement(name=“Store”)
@XmlAccessorType(XmlAccessType.FIELD)

错误是否与
变量有关


编辑-我将
变量设置为静态,这样就不会使用
XmlAccessType.FIELD的当前设置来写入它,并且它可以很好地写入。如何整理点变量?

好的,我找到了一个页面,解释了为什么点变量会导致这些无限循环错误->
StackOverflowerError

有时处理不可映射类的最佳方法是编写 可以使用JAXB映射并在 XmlAdapter中的两个类。在本例中,我们希望使用 点类。因为该类的getLocation()方法(JAXB 将自动拾取和映射),期间将发生无限循环 编组。因为我们无法更改Point类,所以我们将编写一个 新类MyPoint,并在适配器中使用它。-更多信息,请访问:

<ws>
        <widgetLinks>
            <entry>
                <key>Main-Comp Rack Fault `%rackname`</key>
                <value>
                    <widgetCode>
                        <widgetName>LED-Circle-25x25</widgetName>
                        <variables>
                            <entry>
                                <key>`%XPOS%`</key>
                                <value></value>
                            </entry>
                            <entry>
                                <key>`%YPOS%`</key>
                                <value></value>
                            </entry>
                            <entry>
                                <key>`%IO_ID%`</key>
                                <value></value>
                            </entry>
                        </variables>
                        <fullWidgetText> ALOT OF CODE CUT OUT BUT IT PRINTS FINE</fullWidgetText>
                        <filePath>LED-Circle-25x25.txt</filePath>
                    </widgetCode>
                    <positionPercentage>
                        <x>0</x>
                        <y>0</y>
                    </positionPercentage>
                    <variableName>Comp Rack Fault `%rackname`</variableName>
                    <panelName>Main</panelName>
               </widgetLinks>
           </ws>