2012-03-29 157 views

回答

1

經過一番深入的研究後,我發現我最好的選擇是使用maven-antrun-plugin,並在過程資源階段從類中生成一個jar文件,並將它作爲依賴項添加到系統範圍和systemPath中我剛剛建造的罐子。

雙龍片段:

<plugin> 
<groupId>org.apache.maven.plugins</groupId> 
<artifactId>maven-antrun-plugin</artifactId> 
<version>1.6</version> 
<executions> 
    <execution> 
     <phase>process-resources</phase> 
     <goals> 
      <goal>run</goal> 
     </goals> 
     <configuration> 
      <target name="mpower.jar"> 
       <taskdef resource="net/sf/antcontrib/antcontrib.properties" classpath="${env.USERPROFILE}\.m2\repository\ant-contrib\ant-contrib\1.0b3\ant-contrib-1.0b3.jar"/> 

       <if> 
        <available file="${classes.dir}" type="dir"/> 
        <then> 
         <jar destfile="${env.TEMP}\classes.jar"> 
          <fileset dir="${classes.dir}\classes"> 
           <include name="**/**"/> 
          </fileset> 
         </jar> 
        </then> 
        <else> 
         <fail message="${classes.dir} not found. Skipping jar creation"/> 
        </else> 
       </if> 
      </target> 
     </configuration> 
    </execution> 
</executions> 

....

<dependency> 
     <groupId>ant-contrib</groupId> 
     <artifactId>ant-contrib</artifactId> 
     <version>1.0b3</version> 
    </dependency> 
    <dependency> 
     <groupId>com.my.code</groupId> 
     <artifactId>classes.jar</artifactId> 
     <version>1.1</version> 
     <scope>system</scope> 
     <systemPath>${env.TEMP}\classes.jar</systemPath> 
    </dependency> 
+0

非常感謝您在這裏記錄這一點。我有由Javassist動態生成的類,我無法在測試中使用它們。試過了Maven Build Helper插件,但它不起作用,因爲我沒有代碼而是類文件。這是真正讓我走的唯一的事情。謝謝! – khituras 2015-03-19 15:05:09