我使用jaxws-maven插件中的wsgen从我的@WebService java类生成web服务工件(从java开始)。我的web服务类注入了一个@EJB。我已经将javaeeapi版本6作为一个依赖项包含在内。
一切都很好,直到我将javaeeapi范围更改为provided。如果我不这样做,javaee-api.jar就会包含在我的.war文件中,这是我不想要的。
使用provided不应导致编译失败。其他人注意到了这一点,但在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>
添加javax:javaee-api:6.0作为插件本身的依赖项。
可以在<plugin>
标记中添加<dependencies>
标记。
有关更多详细信息,请参阅POM参考资料。