我使用package-info.java
使用@XmlAccessorType(XmlAccessType.NONE)
指定@XmlJavaTypeAdapters
和一些xml java适配器。模型对象(使用JAXB注释)放置在由其他模块共享的单独maven模块中。如果模型对象位于单独的maven模块中,则不会发现package-info.java
中的配置。如果为了测试目的将模型对象移动到相同的maven模块,一切都可以。我认为从JAXBContext
的角度来看,单独的maven模块可以被认为等同于第三方lib。我使用JDK1.7 JAXB参考实现。有关配置可能有何不同的任何想法?
答案 0 :(得分:0)
我也遇到过这个问题,在我的情况下,package-info.java中的限定/非限定属性被忽略了。我设法找到两种解决方法:
我还发现它只在创建WebServices的情况下不起作用(创建对象并发送到WS在不同的模块中工作正常)。
我正在使用Jbossas7.1.1和cxf 2.4.6。在注册服务时,Jboss从JAXB创建了wsdl(在我的案例中是路径/opt/jboss/jboss-as-7.1.1.Final/standalone/data/wsdl/module.war/SubmitMessage.wsdl)。在本地设置文件中生成正确。
为什么创建WS的任何想法都是这样的?
答案 1 :(得分:0)
我最近遇到了这个问题,实际的问题(使用Java 8,即不涉及Java模块)是我在类路径上有两个* .jar文件,它们都包含相同的软件包-在一个JAR中,存在软件包-带有JAXB批注的info.class,而另一种则没有。 在那种情况下,我猜想是否发现package-info.class文件取决于类路径的排序(这非常脆弱,只有半确定性)。