2011-06-13 50 views
1

我試圖讓maven 3運行兩個Web服務端點的wsgen。一個是位於src/main/java下的'production'端點,另一個是位於src/test/java下的'test'端點。測試端點上的jaxws-maven-plugin wsgen

問題是,wsgen沒有找到'test'sei類,(大概)它只在類路徑中有src/main/java。不可能使用jaxws-maven-plugin直接設置wsgen類路徑(沒有配置元素)。我試着結合生成測試來源階段,但沒有喜悅

這裏的POM片段:

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>jaxws-maven-plugin</artifactId> 
      <version>1.10</version> 
      <executions> 
       <!-- this works fine --> 
       <execution> 
        <id>Production</id> 
        <configuration> 
         <genWsdl>true</genWsdl> 
         <verbose>true</verbose> 
         <protocol>soap1.1</protocol> 
         <sei>com.foo.ws.ProductionEndPoint</sei> 
         <sourceDestDir>${project.build.directory}/jaxws/wsgen/src</sourceDestDir> 
         <destDir>${project.build.directory}/jaxws/wsgen/classes</destDir> 
         <packageName>com.foo.ws</packageName> 
        </configuration> 
        <goals> 
         <goal>wsgen</goal> 
        </goals> 
       </execution> 
       <!-- this fails with Class Not Found on the sei class --> 
       <execution> 
        <phase>generate-test-sources</phase> 
        <id>Test</id> 
        <configuration> 
         <genWsdl>true</genWsdl> 
         <verbose>true</verbose> 
         <protocol>soap1.1</protocol> 
         <sei>com.foo.ws.TestEndPoint</sei> 
         <sourceDestDir>${project.build.directory}/jaxws/wsgen/src</sourceDestDir> 
         <destDir>${project.build.directory}/jaxws/wsgen/classes</destDir> 
         <packageName>com.foo.ws.test</packageName> 
        </configuration> 
        <goals> 
         <goal>wsgen</goal> 
        </goals> 
       </execution> 
      </executions> 

      <dependencies> 
       <dependency> 
        <groupId>com.sun.xml.ws</groupId> 
        <artifactId>jaxws-tools</artifactId> 
        <version>2.1.4</version> 
       </dependency> 

      </dependencies> 
     </plugin> 
    </plugin> 
</build> 
+0

哦,我也嘗試過wsgen-test目標,但是它將生成的代碼放在目標目錄下,它不會在執行它之前在類路徑中放置src/test/java – Chris 2011-06-13 12:01:11

回答

2

你應該綁定到過程檢驗類相 而不是 <phase>process-test-classes</phase> 它應該是 <phase>process-test-classes</phase>