![](/img/trans.png)
[英]Maven best practice for generating multiple jars with different/filtered classes?
[英]generating classes in different packages using jaxb and maven
這個問題與此非常相似,但我的情況有所不同
我有一個包含多個xsd和wsdl的目錄。 其中一些需要生成到不同的程序包中。
我已經將我的pom.xml配置如下:
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>0.7.1</version>
<executions>
<execution>
<id>xsd-generate</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<generateDirectory>${project.build.directory}/generated-sources/xsdClasses</generateDirectory>
<generatePackage>eu.ist_phosphorus.harmony.common.serviceinterface.databinding.jaxb</generatePackage>
<schemaDirectory>resources/webservices</schemaDirectory>
<includeSchemas>
<!-- we have 3 top level xsd's -->
<include>Topology-Types.xsd</include>
<include>Reservation-Types.xsd</include>
<include>Notification-Types.xsd</include>
</includeSchemas>
<extension>true</extension>
<args>
<arg>-Xcopyable</arg> <!-- to make them implement java.lang.Cloneable -->
</args>
<plugins>
<!-- necesary for -Xcopyable to work -->
<plugin>
<groupId>org.jvnet.jaxb2_commons</groupId>
<artifactId>jaxb2-basics</artifactId>
<version>0.5.3</version>
</plugin>
</plugins>
</configuration>
</execution>
<execution>
<id>wsdl-reservation-generate</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<generateDirectory>${project.build.directory}/generated-sources/reservationClasses</generateDirectory>
<generatePackage>eu.ist_phosphorus.harmony.common.serviceinterface.reservation</generatePackage>
<schemaDirectory>resources/webservices/</schemaDirectory>
<includeSchemas>
<include>Reservation-WS.wsdl</include>
</includeSchemas>
<extension>true</extension>
</configuration>
</execution>
<execution>
<id>wsdl-notification-generate</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<generateDirectory>${project.build.directory}/generated-sources/notificationClasses</generateDirectory>
<generatePackage>eu.ist_phosphorus.harmony.common.serviceinterface.notification</generatePackage>
<schemaDirectory>resources/webservices</schemaDirectory>
<includeSchemas>
<include>Notification-WS.wsdl</include>
</includeSchemas>
<extension>true</extension>
</configuration>
</execution>
<execution>
<id>wsdl-topology-generate</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<generateDirectory>${project.build.directory}/generated-sources/topologyClasses</generateDirectory>
<generatePackage>eu.ist_phosphorus.harmony.common.serviceinterface.topology</generatePackage>
<schemaDirectory>resources/webservices</schemaDirectory>
<includeSchemas>
<include>Topology-WS.wsdl</include>
</includeSchemas>
<extension>true</extension>
</configuration>
</execution>
</executions>
</plugin>
當我運行mvn compile時,會生成類,問題是每個生成的包都包含每個類,而不僅僅是我包含在includeSchemas中的類。
如何配置插件,以便每個包僅包含includeSchemas中列出的類?
為什么我的情況與另一個問題不同? 我不能將xsd / wsdl文件放在不同的目錄中,因為它們依賴於多余的文件,我認為復制不是一個好主意
我相信您的問題是<includeSchemas>
應該是<schemaIncludes>
(至少在版本0.8.0中)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.