我有一个项目,我想使用JAXB从XSD生成的一组类.有了这些类,我想从XML和JSON中编组/取消编组.
我发现我需要Moxy Eclipselink来做我需要的事情.我测试了我的类和进程作为Ant项目,然后我决定将其移交给Maven以便更好地管理.
但是,似乎在运行时无法识别jaxb.properties文件.
我的项目有一个用于对象的Maven工件,以及另一个用于逻辑/处理的工件.我一直在拉着我的头发试图弄清楚把jaxb.properties放在哪里以便可以阅读.
我试过了
对象项目
/src/main/resources/jaxb.properties
/src/main/java/[namespace]/jaxb.properties
Run Code Online (Sandbox Code Playgroud)
逻辑项目
/src/main/resources/jaxb.properties
/src/main/java/[namespace]/jaxb.properties
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试获取我的JAXBContext的类名时,我仍然得到:
class com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl
Run Code Online (Sandbox Code Playgroud)
如果我通过指定以下JVM选项来修改我的运行设置:
-Djavax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory
Run Code Online (Sandbox Code Playgroud)
我明白了:
class org.eclipse.persistence.jaxb.JAXBContext
Run Code Online (Sandbox Code Playgroud)
在两个项目中,我都在pom.xml中指定了它
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
</build>
Run Code Online (Sandbox Code Playgroud)
如果我看一下JAR,我会在那里看到jaxb.properties.
现在我很困惑.
| 归档时间: |
|
| 查看次数: |
7441 次 |
| 最近记录: |