3

これが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
に存在します コンパイル フェーズはどこですか??

4

2 に答える 2

5

Maven ライフサイクル リファレンスから:

デフォルトのライフサイクル バインディング - ear のパッケージ化

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

ご覧のとおり、EAR ライフサイクルにはコンパイル フェーズが含まれていません。

于 2012-04-26T14:21:56.937 に答える
0

Java ソース コードを EAR プロジェクトに直接入れる必要はないと思います。EAR プロジェクトは、WAR、EJB、JAR ファイルなどの他のアーティファクトのみをクラスに取り込む必要があります。

したがって、EAR ファイルにいくつかのカスタム クラスが必要な場合は、JAR パッケージを使用して別のプロジェクトを作成し、それを EAR プロジェクトからの依存関係として含める必要があります。

この質問の最初の回答をご覧ください。EAR パッケージの推奨構造が示されています: Maven2: エンタープライズ プロジェクトのベスト プラクティス (EAR ファイル)

于 2012-04-26T14:16:42.760 に答える