JAXB package-info.java声明在单独的maven模块中被忽略

JAXB package-info.java声明在单独的maven模块中被忽略,java,xml,maven,jaxb,package-info,Java,Xml,Maven,Jaxb,Package Info,我使用package info.java指定@xmlacessortype(xmlacesstype.NONE)和一些使用@XmlJavaTypeAdapters的xml-java适配器。模型对象(带有JAXB注释)放置在其他模块共享的单独maven模块中。如果模型对象位于单独的maven模块中,则不会发现package info.java中的配置。如果出于测试目的,我将模型对象移动到同一个maven模块,一切都正常。我认为,从JAXBContext的角度来看,单独的maven模块可以被视为等同

我使用
package info.java
指定
@xmlacessortype(xmlacesstype.NONE)
和一些使用
@XmlJavaTypeAdapters
的xml-java适配器。模型对象(带有JAXB注释)放置在其他模块共享的单独maven模块中。如果模型对象位于单独的maven模块中,则不会发现
package info.java
中的配置。如果出于测试目的,我将模型对象移动到同一个maven模块,一切都正常。我认为,从
JAXBContext
的角度来看,单独的maven模块可以被视为等同于第三方lib。我使用JDK1.7JAXB参考实现。有没有关于配置如何不同的想法?

我也遇到了这个问题,在我的例子中,package-info.java中的qualified/unqualified属性被忽略了。我设法找到了两种解决方法:

  • 正如Pavla所写的,在本地使用package-info.java复制所有JAXB类
  • 将模块作为一个具有编译作用域的依赖项包含(这会产生类似于模块中的类的结果。在我的例子中,我使用JAXB类创建了单独的jar库)
我还发现,它不仅在创建Web服务的情况下有效(创建对象并发送到WS在不同的模块中工作良好)

我正在使用Jbossas7.1.1和CXF2.4.6。在注册服务时,Jboss从JAXB创建了wsdl(在我的例子中是path/opt/Jboss/Jboss-as-7.1.1.Final/standalone/data/wsdl/module.war/SubmitMessage.wsdl)。在本地设置中,正确生成文件


你知道为什么创建WS会这样吗?

我也遇到了这个问题,在我的例子中,package-info.java中的qualified/unqualified属性被忽略了。我设法找到了两种解决方法:

  • 正如Pavla所写的,在本地使用package-info.java复制所有JAXB类
  • 将模块作为一个具有编译作用域的依赖项包含(这会产生类似于模块中的类的结果。在我的例子中,我使用JAXB类创建了单独的jar库)
我还发现,它不仅在创建Web服务的情况下有效(创建对象并发送到WS在不同的模块中工作良好)

我正在使用Jbossas7.1.1和CXF2.4.6。在注册服务时,Jboss从JAXB创建了wsdl(在我的例子中是path/opt/Jboss/Jboss-as-7.1.1.Final/standalone/data/wsdl/module.war/SubmitMessage.wsdl)。在本地设置中,正确生成文件


你知道为什么创建WS会有这样的行为吗?

我最近碰到了这个问题,而实际的问题(Java 8,即没有涉及Java模块)是,我在类路径上有两个*.jar文件,它们都包含相同的包-在一个jar中,有带有JAXB注释的package-info.class,而在另一个中,没有。
在这种情况下,我想如果package-info.class文件被发现,则取决于类路径顺序(这是非常脆弱的,只是半确定性的)

我最近遇到了这个问题,而实际的问题(Java 8,即没有涉及Java模块)是,我在类路径上有两个*.jar文件,它们都包含相同的包-在一个jar中,有带有JAXB注释的package-info.class,而在另一个jar中,没有。
在这种情况下,我想如果package-info.class文件被发现,则取决于类路径顺序(这是非常脆弱的,只是半确定性的)

package-info.java位于何处?package-info.java与我的模型对象位于同一个包中。package-info.java位于何处?package-info.java与我的模型对象位于同一个包中。如果有其他问题,请将其发布到另一个线程中,如果有其他问题,请不要将其作为答案发布,把它贴在另一个帖子上,不要把它当作答案