Java maven webapp将jsp放置在/WEB-INF/jsp中
我继承了一个使用NetBean内部ant构建的webapp 所有JSP位于:Java maven webapp将jsp放置在/WEB-INF/jsp中,java,maven-2,web-applications,Java,Maven 2,Web Applications,我继承了一个使用NetBean内部ant构建的webapp 所有JSP位于: WEB-INF/jsp xml具有指向/web-INF/jsp/somefile.jsp的硬编码链接 如何使用maven war插件将JSP放在那里,保持与当前结构的一致性 我的pom当前显示: <warSourceDirectory>${basedir}/web/WEB-INF</warSourceDirectory> ${basedir}/web/web-INF 什么问题?让我们看看标准
WEB-INF/jsp
xml具有指向/web-INF/jsp/somefile.jsp的硬编码链接
如何使用maven war插件将JSP放在那里,保持与当前结构的一致性
我的pom当前显示:
<warSourceDirectory>${basedir}/web/WEB-INF</warSourceDirectory>
${basedir}/web/web-INF
什么问题?让我们看看标准的war项目结构:
$ mvn archetype:create -DgroupId=com.mycompany.app \
> -DartifactId=my-webapp -DarchetypeArtifactId=maven-archetype-webapp
...
$ tree my-webapp/
my-webapp/
|-- pom.xml
`-- src
`-- main
|-- resources
`-- webapp
|-- WEB-INF
| `-- web.xml
`-- index.jsp
5 directories, 3 files
预期的行为是什么?为什么不使用默认值
${basedir}/src/main/webapp
还要注意,src/main/resources中的所有内容都将“在类路径上”,也就是说,在构建war时,它们都被复制到我的webapp/WEB-INF/classes中。因此,这是一个放置配置文件的好地方,例如log4j.xml/logback.xml,或Spring的applicationContext.xml和Spring的其他配置文件,您可以轻松地使用classpath:somefile.xml引用这些文件
这一点也非常好,因为您可以在maven中设置过滤器,以便它在将文件放入war文件之前转换src/resources中的文件
因此,如果您在src/main/webapp/web-INF中有任何配置文件,而不是web.xml,请考虑将它们移动到src/main/resources目录。Vous avez-raisson。我将我的warsourcedir更改为${basedir}/web&它可以工作。
<warSourceDirectory>${basedir}/web/WEB-INF</warSourceDirectory>