我正在開發一個基於Servlet的Java項目,使用Maven將其打包爲一場戰爭。 有沒有一種方法可以將JavaScript(JS)文件與此項目一起使用(當項目在Tomcat服務器上加載時,它們應該在某個URL處可用)。在戰爭中打包Javascript文件?
我環顧四周,但還沒有找到任何工作解決方案。
我正在開發一個基於Servlet的Java項目,使用Maven將其打包爲一場戰爭。 有沒有一種方法可以將JavaScript(JS)文件與此項目一起使用(當項目在Tomcat服務器上加載時,它們應該在某個URL處可用)。在戰爭中打包Javascript文件?
我環顧四周,但還沒有找到任何工作解決方案。
也許更好的解決方案是堅持Maven約定,它指定您的Web應用程序的根目錄是src/main/webapp
。
所以,如果你把所有的Javascript文件放在src/main/webapp/javascript
(或src/main/webapp/js
)中,它們將被整合到你的最終戰爭包中。
在Maven WAR插件中,他們給出了一些關於目錄內容的描述(例如參見here)。例如:
|-- pom.xml
`-- src
`-- main
|-- java
| `-- com
| `-- example
| `-- projects
| `-- SampleAction.java
|-- resources
| `-- images
| `-- sampleimage.jpg
`-- webapp
|-- WEB-INF
| `-- web.xml
|-- index.jsp
`-- jsp
`-- websource.jsp
正如你所看到的,你可以在這裏把資源webapp/xxx
目錄,如jsp
文件。
如cuh所述,如果你的目錄結構不同,你也可以配置Maven WAR插件。
可以使用maven-war-plugin並將其配置是這樣的:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<warSourceDirectory>${basedir}/src/main/webapp</warSourceDirectory>
<webResources>
<resource>
<directory>your/path/to/js</directory>
<targetPath>js</targetPath>
</resource>
</webResources>
</configuration>
</plugin>
見here。
編輯:你可能不希望包括js
到classes
文件夾。
將它們放在src/main/webapp下的目錄中。也就是說,假設您使用maven-archetype-webapp
原型生成了它。
我目前的應用程序有他們在src /主/ web應用/ JavaScript和訪問他們在這樣的JSP:
<script type="text/javascript" src="javascript/jquery-1.4.2.min.js"></script>
(在SRC /主/ web應用jsp文件即是)
這是一個類似的問題。 http://stackoverflow.com/questions/8397357/copy-a-file-during-maven-build-phase – 2013-05-01 19:22:12