用于多个配置文件项目

时间:2017-08-24 11:05:45

标签: java maven tomcat tomcat7 maven-tomcat-plugin

我正在研究多个配置文件项目及其maven pom文件层次结构父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>

我在tomcat插件本身配置了server.xml文件位置

<serverXml>${user.dir}\conf\server.xml</serverXml>

如果没有这个外部配置文件,tomcat就会正常启动但是在添加这个tomcat插件之后,并不会在所选的配置文件中识别war文件,

根据以下答案,我必须在此文件中配置webapp路径。

https://stackoverflow.com/a/26004617/1709600

但在我的主题中,我有大约50个配置文件,每个配置文件webapps是不同的。我无法在此单个server.xml文件中配置每个webapp。

然后我的问题是,

tomcat插件本身有没有办法和webapps路径???

不将以下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

0 个答案:

没有答案