2012-04-26 30 views
2

这里是POM
的一部分......Maven:构建耳朵:跳过编译阶段?

<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: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这班existst /主/ JAVA/COM /柔和/ WebService.java
编译阶段在哪里?

回答

3

Maven Lifecycle Reference

默认的生命周期绑定 - 包装耳

generate-resources ear:generateApplicationXml 
process-resources resources:resources 
package    ear:ear 
install    install:install 
deploy    deploy:deploy 

如您所见,EAR生命周期不包含编译阶段

0

我不认为你应该在你的EAR项目中直接使用Java源代码。 EAR项目应该只吸引其他的工件,例如WAR,EJB或JAR文件与你的类。

所以如果你想在你的EAR文件中使用一些自定义的类,你将不得不使用JAR包创建另一个项目,然后把它作为你的EAR项目的一个依赖项加入。

请看看在这个问题上的第一个答案,它显示了EAR包装推荐的结构:Maven2: Best practice for Enterprise Project (EAR file)