默认情况下,带有tomcat7:run
的Maven Tomcat插件从src/main/webapp
读取资源。
但是,当您拥有来自Maven资源插件的自定义资源时,需要将其配置为包含这些资源。一般的建议是将warSourceDirectory
配置为指向 target/${project.build.finalName}
,这是由 Maven WAR 插件在package
阶段创建的。这有效,但现在我在 src/main/webapp
中更改的文件在 Tomcat 实例中不会更改mvn package
直到运行。IDE 通常会执行mvn compile
以便将资源复制到target/classes
。我尝试将其指向目标/类,但它需要在那里有一个 WEB-INF/文件夹。我还尝试使用additionalClasspathDirs
来指出target/classes
和src/main/webapp
,但没有效果。
插件版本为2.2。
如何在 Maven Tomcat 插件中包含资源,同时仍然能够即时重新加载资源?
我的建议是使用 spring 配置文件来加载每个环境的正确 bean,并从外部文件加载属性 file://opt/myapp/application.properties 其中 application.properties 将因环境而异。