我如何强制为Javaee 5生成cxf-codegen-plugin(CXF wsdltojava)Maven插件?

时间:2011-03-11 12:10:39

标签: java maven cxf

虽然使用来自apache的Maven和cxf-codegen-plugin它似乎为Java ee 6生成代码。我可以通过错误消息告诉../generated-sources/cxf/.../cxf/gen/prod /IProd.java:找不到符号 符号:类动作 location:interface .... IProd

行动仅限于jee6 ++

如何强制它为Javaee 5生成?有没有标志 - 找不到任何标志。

计算机上的所有东西都设置为Java 1.5,Java_Home和java -version赋予1.5 ..我在compilepath上有java EE 5 api。 maven中的插件设置为1.5。 仍然...

编辑:解决,见评论。

2 个答案:

答案 0 :(得分:2)

我用另一个插件生成我的JAX-WS类

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>jaxws-maven-plugin</artifactId>
    <executions>
        <execution>
            <goals>
                <goal>wsimport</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <target>2.0</target>
        <packageName>some.pack.age</packageName> <!-- The name of your generated source package -->
    </configuration>

    <!--
        if you want to use a specific version of JAX-WS, you can do so like
        this
    -->
    <dependencies>
        <dependency>
            <groupId>com.sun.xml.ws</groupId>
            <artifactId>jaxws-tools</artifactId>
            <version>2.1.4</version>
        </dependency>
    </dependencies>
</plugin>

您应该在

中添加wsdl的文件
/src/wsdl/

答案 1 :(得分:0)

您需要在maven编译器插件中指定java版本,如下所示: (如果仍然生成错误的代码,则包括“bootclasspath”)

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.3.2</version>
    <configuration>
      <source>1.5</source>
      <target>1.5</target>
      <encoding>UTF-8</encoding>
      <bootclasspath>${java.home}\lib\rt.jar</bootclasspath>
    </configuration>
  </plugin>