maven webapp将jsps放在/ WEB-INF / jsp中
我inheritance了使用NetBean的内部ant构建的webapp。
所有jsps都位于:
WEB-INF/jsp
web.xml包含指向/WEB-INF/jsp/somefile.jsp的硬编码链接
如何使用maven war插件将JSP放在那里,保持与当前结构的一致性?
我的pom目前写道:
${basedir}/web/WEB-INF
有什么问题? 让我们看一下标准的战争项目结构:
$ mvn archetype:create -DgroupId = com.mycompany.app \ > -DartifactId = my-webapp -DarchetypeArtifactId = maven-archetype-webapp ... $ tree my-webapp / 我-的webapp / | - pom.xml ` - src ` - 主要 | - 资源 ` - webapp | - WEB-INF | ` - web.xml ` - index.jsp 5个目录,3个文件
无需配置任何东西,只需将您的JSP放在src/main/webapp/WEB-INF/jsp
即可。
编辑:我不明白为什么你的maven-war-plugin配置中有以下行:
${basedir}/web/WEB-INF
预期的行为是什么? 为什么不使用默认值${basedir}/src/main/webapp
?
另请注意,src / main / resources中的所有内容都将“在类路径上”,即在构建war时将其全部复制到my-webapp / WEB-INF / classes。 这是放置配置文件的好地方,例如log4j.xml / logback.xml,或Spring的applicationContext.xml和Spring的其他配置文件,然后您可以使用classpath轻松引用:somefile.xml。
什么也使这个非常好,你可以在maven中设置filter,以便在将文件放入war文件之前从src / resources转换文件。
因此,如果您在src / main / webapp / WEB-INF中有除web.xml之外的任何配置文件,请考虑将它们移动到src / main / resources目录。