我目前正在用Axis2替换IBM WebService框架。在从WSDL文件生成代码时,我使用Maven插件WSDL2Code。但是,创建的代码总是错误的。或者更确切地说,包名总是错误的,这反过来使得调用的每个方法都是不可调用的(在eclipse中会产生更多的错误,甚至10.000+错误)。
以下是实际发生的情况的示例(这只是我专门用来获取建议的一个示例):
<plugin>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-wsdl2code-maven-plugin</artifactId>
<version>1.4.1</version>
<executions>
<execution>
<id>Test</id>
<goals>
<goal>wsdl2code</goal>
</goals>
<configuration>
<packageName>test.testpackage</packageName>
<databindingName>xmlbeans</databindingName>
<wsdlFile>${basedir}/wsdl/service.wsdl</wsdlFile>
<outputDirectory>${basedir}/testdirectory</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>从理论上讲,这应该会在目录testdirectory/test/testpackage中生成包名为"test.testpackage“的代码。但是,它会在testdirectory.src.test.testpackage目录中创建以下包: Src.test.testpackage。它总是将“src.src.test.testpackage”添加到包名称和目录中-如果我将包名称更改为src,它将生成以下包:src。
当然,这会导致一个巨大的问题,因为每个生成的文件都有以下错误:“声明的包"src.test.testpackage”与预期的包"src.src.test.testpackage“不匹配”
我在这里完全不知所措。我根本找不到任何理由,为什么它应该到处添加"src“。我注意到了一个自动生成的build.xml文件,其中包含一个名为sourcedirectory = x/src的值(或者类似的值),但是我不能做任何事情来影响这个值(尝试更改它然后保存文件显然没有什么区别,因为它只是在我下次运行maven时再次生成)。
哦,我通常使用命令"mvn clean install“和WSDL2Code版本1.4.1,所以它不是旧的wsdl2code:wsdl2code bug之一。
如果有人知道这里到底出了什么问题,我将不胜感激。
提前谢谢。
发布于 2009-02-18 16:23:50
版本1.4.1有更多的配置选项,这些选项并未真正记录在案(请查看org.apache.axis2.maven2.wsdl2code.WSDL2CodeMojo)...的源代码
只需使用true就可以解决您的问题:-)
发布于 2009-05-06 09:09:11
这个问题很老了,所以我不知道你是否仍然有这个问题...
我建议使用Axistools Maven Plugin,它在我们的例子中工作得很好。
发布于 2008-12-02 12:44:23
也许'src‘是${basedir}的一部分?
https://stackoverflow.com/questions/333819
复制相似问题