有兩個項目: 1)輸出jar文件的applet項目 2)應該託管jar文件的web應用程序項目。Maven複製項目輸出到其他項目資源
(1)完成構建後,應將applet jar文件複製到(2)的webapp文件夾中。其目的是(2)將在互聯網上託管applet(1)。
很多示例解釋瞭如何將另一個項目用作庫依賴項。其他示例顯示如何使用ant插件來複制文件。我不確定如何正確設置,以便父項目上的'mvn install'將在正確的時間進行復制。
有兩個項目: 1)輸出jar文件的applet項目 2)應該託管jar文件的web應用程序項目。Maven複製項目輸出到其他項目資源
(1)完成構建後,應將applet jar文件複製到(2)的webapp文件夾中。其目的是(2)將在互聯網上託管applet(1)。
很多示例解釋瞭如何將另一個項目用作庫依賴項。其他示例顯示如何使用ant插件來複制文件。我不確定如何正確設置,以便父項目上的'mvn install'將在正確的時間進行復制。
我會聲明applet作爲webapp的依賴關係,在使用Dependency plugin及其copy
目標進行打包之前將其複製到webapp。整個解決方案可能是這樣的:
<project>
...
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>my-applet</artifactId>
<version>${project.version}</version>
<scope>provided</scope> <!-- we don't want the applet in WEB-INF/classes -->
</dependency>
...
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<id>copy</id>
<phase>prepare-package</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>${project.groupId}</groupId>
<artifactId>my-applet</artifactId>
<version>${project.version}</version>
<outputDirectory>${project.build.directory}/${project.build.finalName}</outputDirectory>
<destFileName>the-applet.jar</destFileName>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
...
</plugins>
</build>
</project>
聲明小程序的依賴是反應堆建造順序
(但我不是100%肯定它是必需的)
。
是的,那工作100%。你很快!而且,是的,反應堆需要依賴性(設置爲提供)。 – Thomas 2010-04-08 21:18:55
@Thomas很高興有幫助。感謝您的反饋(並確認我的疑問)。 – 2010-04-08 21:25:12
只有一個令人難以置信的小評論:**
使用[dependency:copy](http://maven.apache.org/plugins/maven-dependency-plugin/examples/copying-artifacts.html)。 – lexicore 2010-04-08 20:47:59