Java maven webapp将jsp放置在/WEB-INF/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 什么问题?让我们看看标准

我继承了一个使用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

什么问题?让我们看看标准的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>