2

我使用 jaxws-maven-plugin 中的 wsgen 从我的 @WebService java 类(从 Java 开始)生成 Web 服务工件。我的 Web 服务类注入了一个 @EJB。我已将 javaee-api 版本 6 作为依赖项包含在内。

一切正常,直到我将 javaee-api 范围更改为提供。如果我不这样做,javaee-api.jar 会包含在我的 .war 文件中,这是我不想要的。

使用提供不应该导致编译失败。 其他人注意到了这一点,但在 Maven 中没有。

这是我的 pom.xml 中的相关部分。

谢谢。

<build>
  <plugins>
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>jaxws-maven-plugin</artifactId>
      <version>1.12</version>
      <executions>
        <execution>
          <goals>
            <goal>wsgen</goal>
          </goals>
          <configuration>
            <sei>com.co.report.reports.ws.server.ReportService</sei>
            <genWsdl>false</genWsdl>
            <keep>true</keep>
          </configuration>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>
<dependencies>
  <dependency>
    <groupId>javax</groupId>
    <artifactId>javaee-api</artifactId>
    <version>6.0</version>
    <!--   Setting <scope>provided</scope> causes compile failure -->
    <scope>provided</scope>
  </dependency>
4

1 回答 1

1

添加 javax:javaee-api:6.0 作为插件本身的依赖项。

您可以在<dependencies>标签内添加<plugin>标签。

有关详细信息,请参阅POM 参考。

于 2012-02-23T22:01:45.313 回答