我正在开发一个基于Servlet的Java项目,打算使用Maven将其打包成war文件。 有没有办法在这个项目中包含JavaScript(JS)文件(它们应该可以在Tomcat服务器上加载项目时的某个url上访问)。
我已经搜索过了,但是没有找到任何可行的解决方案。
我正在开发一个基于Servlet的Java项目,打算使用Maven将其打包成war文件。 有没有办法在这个项目中包含JavaScript(JS)文件(它们应该可以在Tomcat服务器上加载项目时的某个url上访问)。
我已经搜索过了,但是没有找到任何可行的解决方案。
src/main/webapp
。因此,如果您将所有Javascript文件放在src/main/webapp/javascript
(或src/main/webapp/js
)中,它们将被集成到最终的war包中。在Maven WAR插件中,它们提供了一些关于目录内容的描述(例如,请参见这里)。 |-- 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 插件。
src/main/resources
下的所有内容默认都会被添加到WEB-INF/classes
文件夹中。因此,它将被添加两次到war包中。顺便说一句,Maven的约定是使用src/main/webapp
而不是webapps。 - cuh<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>
点击这里查看。
注: 你可能不希望将js
文件包含在classes
文件夹中。
<script type="text/javascript" src="javascript/jquery-1.4.2.min.js"></script>
(针对src/main/webapp中的jsp文件)