2
我知道這有點超出了maven的範圍,但我需要將具有編譯類的本地目錄添加到模塊的類路徑中。 我看到:Maven: add a folder or jar file into current classpath,但這隻適用於一個罐子。maven將本地類目錄添加到模塊的類路徑
我需要有一個類似的解決方案,但編譯類在本地文件系統上的目錄。這甚至有可能嗎?
Thx!
我知道這有點超出了maven的範圍,但我需要將具有編譯類的本地目錄添加到模塊的類路徑中。 我看到:Maven: add a folder or jar file into current classpath,但這隻適用於一個罐子。maven將本地類目錄添加到模塊的類路徑
我需要有一個類似的解決方案,但編譯類在本地文件系統上的目錄。這甚至有可能嗎?
Thx!
經過一番深入的研究後,我發現我最好的選擇是使用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>
非常感謝您在這裏記錄這一點。我有由Javassist動態生成的類,我無法在測試中使用它們。試過了Maven Build Helper插件,但它不起作用,因爲我沒有代碼而是類文件。這是真正讓我走的唯一的事情。謝謝! – khituras 2015-03-19 15:05:09