Я работаю над многопрофильным проектом, и его родительский файл pom с иерархией файлов maven pom содержит плагин tomcat7.
Parent pom.xml
|--child1 pom.xml
|--child2 pom.xml
|--child3 pom.xml
|--child4 pom.xml
|--child5 pom.xml
Профили
Parent pom.xml
profiles
profile1 modules
|--child1
|--child2
profile2 modules
|--child1
|--child3
|--child4
Я хочу иметь следующий внешний файл server.xml
<?xml version='1.0' encoding='utf-8'?>
<Server port="8080" shutdown="SHUTDOWN">
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1" />
<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Listener className="it.xxx.tomcat.listener.TBXServerLifecycleListener"/>
</Host>
</Engine>
</Service>
</Server>
И я настроил расположение файла server.xml в самом плагине tomcat
<serverXml>${user.dir}\conf\server.xml</serverXml>
Без этого внешнего файла конфигурации Tomcat запускается нормально, но после добавления этого плагина tomcat не идентифицирует файл войны в выбранном профиле,
В соответствии со следующим ответом я должен настроить пути веб-приложений в этом файле.
https://stackoverflow.com/a/26004617/1709600
Но в моем проекте у меня около 50 профилей, и каждый профиль веб-приложений отличается. Я не могу настроить каждое веб-приложение в этом единственном файле server.xml.
Тогда мой вопрос,
Есть ли способ и путь к веб-приложениям в самом плагине tomcat???
без добавления следующего тега xml в файл server.xml server.xml
<Context docBase="../../webapp" path="/webapp" reloadable="true" />
Я уже играл со следующими конфигурациями, но ничего из этого у меня не сработало... :(
<defaultContextFile>${user.dir}\conf\context.xml</defaultContextFile>
<warSourceDirectory>${project.build.directory}/${project.build.finalName}/</warSourceDirectory>
<warDirectory>${project.build.directory}/${project.build.finalName}/</warDirectory>
<warFile>${project.build.directory}/${project.artifactId}.war</warFile>
Моя команда Maven:
tomcat7:run-war-only -P profileX