使用context.xml和注入密码从Maven启动tomcat

时间:2017-12-23 19:26:05

标签: maven tomcat tomcat7 maven-tomcat-plugin

我正在尝试设置一个Maven pom.xml文件,以便

  • 构建我的战争文件
  • 使用具有数据库资源的context.xml启动tomcat
  • 在settings.xml或属性文件
  • 中设置该context.xml中的用户名和密码

我需要在项目外部使用用户名和密码,以便敏感信息不会存储在版本控制中。

如果我硬编码用户名和密码,Maven tomcat插件工作正常。我把context.xml文件放在src / test / resources / tomcat / context.xml中并配置插件从那里拉出来:

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
    <configuration> 
        <url>http://localhost:8080/manager/text</url>
        <contextFile>
        ${project.basedir}/src/test/resources/tomcat/context.xml
        </contextFile>
    </configuration>
</plugin>

我已经看到了将用户名和密码放在.m2 / settings.xml文件中的示例,如下所示:

  <servers>
    <server>
      <id>demo</id>
      <username>myUser</username>
      <password>myPassword</password>
    </server>
  <servers>

但我不知道如何将这些值“注入”context.xml。我将以下内容放在context.xml中的适当位置:

${servers.server.demo.username}

${servers.server.username}

但他们没有解决实际价值。

这种事情的最佳做法是什么?

1 个答案:

答案 0 :(得分:1)

您需要在'configuration'中添加'server'标记,并将其id指定为value。 在你的情况下,这是一个'演示'。

2017-01-03