我怎样才能用maven生成一集?我现在得到一个错误信息:an operand is missing (org.apache.cxf:cxf-xjc-plugin:2.4.0:xsdtojava:generate-sources:generate-sources)
XJC情节与maven
这里我的插件:
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-xjc-plugin</artifactId>
<version>2.4.0</version>
<configuration>
<extensions>
<extension>org.apache.cxf.xjcplugins:cxf-xjc-dv:2.4.0</extension>
</extensions>
</configuration>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<goals>
<goal>xsdtojava</goal>
</goals>
<configuration>
<xsdOptions>
<xsdOption>
<extension>true</extension>
<xsd>my.xsd</xsd>
<packagename>mypackage</packagename>
<extensionArgs>
<arg>-episode</arg>
</extensionArgs>
</xsdOption>
</xsdOptions>
</configuration>
</execution>
<execution>
<configuration>
<xsdOptions>
<xsdOption>
<extension>true</extension>
<xsd>my.xsd</xsd>
<extensionArgs>
<arg>-Xdv</arg>
</extensionArgs>
</xsdOption>
</xsdOptions>
</configuration>
</execution>
</executions>
编辑:情节的创作工作正常。在另一个项目中,包含该集的jar文件通过episodes
属性给出。但我收到一个例外情况:Error while parsing schema(s).Location [ file:/D:/workspace/XXX/src/test/resources/XXX.xsd{45,32}]. om.sun.istack.SAXParseException2: compiler was unable to honor this conversion customization. It is attached to a wrong place, or its inconsistent with other bindings. nested in com.sun.istack.SAXParseException2: (the above customization is attached to the following location in the schema)
这是带有情节信息的xsd,它将包含在最终产品中。它在该行上的一些xjc:javaType适配器引用。会导致问题吗?
感谢这已经工作,但现在我在使用该剧集时遇到问题。 Mybe对此有何看法?请参阅编辑。 – 2012-03-29 17:09:51
据我记得,为了消费jar与情节,你只需要将它传递给wsimport或xjc,应该没有额外的params需要。我很困惑你为什么在错误堆栈中引用'file:/ D:/ workspace'。你有文件中某处的模式引用吗?标准的方式是在你的jar包内部架构并从类路径中引用它 – maximdim 2012-03-29 17:43:35
我已经有了一个带有xsd的库和一个使用库xsd中的元素的另一个xsd的项目。这是两个不同的项目。最终产品项目将jar包中的xsd解包,以便最终发货到生产系统。最终产品xsd引用库xsd,这就是为什么有一个相对引用,堆栈跟踪只是打印绝对路径。去除'xjc:javaType'注解解决了这个问题,但这仍然是一个奇怪的问题。在我的最终产品pom中,我传递了库的依赖关系,因为否则情节不会被考虑,并且创建lib代码 – 2012-03-29 22:29:38