[英]Maven: build ear: skip compile phase?
这是POM的一部分
...
<groupId>com.soft</groupId>
<artifactId>config-ear</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>ear</packaging>
<name>Enterprise Application</name>
<url>http://maven.apache.org</url>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>wsgen</goal>
</goals>
<configuration>
<sei>com.soft.WebService</sei>
<genWsdl>true</genWsdl>
<keep>true</keep>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ear-plugin</artifactId>
<version>2.6</version>
<configuration>
<version>1.4</version>
<defaultLibBundleDir>lib</defaultLibBundleDir>
</configuration>
</plugin>
</plugins>
</build>
...
运行mvn clean install
[clean:clean]
Deleting directory D:\Development\config-ear\target
[ear:generate]
Generating application.xml
[resources:resources]
Using 'UTF-8' encoding to copy filtered resources.
skip non existing resourceDirectory D:\Development\config-ear\src\main\resources
[jaxws:wsgen]
Class not found: "com.soft.WebService"
该类存在于src / main / java / com / soft / WebService.java中
编译阶段在哪里?
来自Maven生命周期参考 :
默认生命周期绑定 - 包装耳朵
generate-resources ear:generateApplicationXml
process-resources resources:resources
package ear:ear
install install:install
deploy deploy:deploy
如您所见,EAR生命周期不包含编译阶段
我认为你不应该在你的EAR项目中直接拥有Java源代码。 EAR项目应该只使用您的类引入其他工件,例如WAR,EJB或JAR文件。
因此,如果您想在EAR文件中使用一些自定义类,则必须使用JAR打包创建另一个项目,然后将其作为EAR项目的依赖项包含在内。
请看一下这个问题的第一个答案,它显示了EAR包装的推荐结构: Maven2:企业项目的最佳实践(EAR文件)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.