Maven 2 - 打包 war (含 applet)
在 Maven 裡面打包 war 應該是最簡單的了, 照著 Maven 的目錄結構放好, 他就會自動去幫你把程式打包好. 唯一的問題是, 如果有用到 applet, 那就得另外處理了. 一個簡單的方法, 把 applet 設定成 war 的 dependency, 那就會把 applet 放到 WEB-INF/lib 下面, 不過這樣子似乎無法呼叫到 (這部分如果有解麻煩指正).
另外的方法是用 Maven 的 maven-dependency-plugin, 做法如下:
- 先把 applet 打包好, 並且記得在使用 Maven 時加上 install 這個 goal, 這樣就會把打包好的 applet 放到 local repository 裡面去.
- 使用 maven-dependency-plugin 的 copy, 將 applet 放到指定的目錄. 這裡因為要放到 root, 所以指定的是 ${project.build.directory}/app-war-1.0. 後面的 "app-war-1.0" 請依照實際的專案修改.
1 <build>
2 <plugins>
3 <plugin>
4 <artifactid>maven-dependency-plugin</artifactid>
5 <version>2.2</version>
6 <executions>
7 <execution>
8 <id>copy</id>
9 <phase>prepare-package</phase>
10 <goals>
11 <goal>copy</goal>
12 </goals>
13 <configuration>
14 <artifactitems>
15 <artifactitem>
16 <groupid>com.yourcompany</groupid>
17 <artifactid>app-client</artifactid>
18 <version>1.0</version>
19 <type>jar</type>
20 <overwrite>true</overwrite>
21 <destfilename>app-client.jar</destfilename>
22 </artifactitem>
23 </artifactitems>
24 <outputdirectory>${project.build.directory}/app-war-1.0</outputdirectory>
25 </configuration>
26 </execution>
27 </executions>
28 </plugin>
29 </plugins>
30 </build>