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

我试图设置一个Maven pom.xml文件,以便它可以

  • 建立我的战争档案
  • 使用具有数据库资源的context.xml启动tomcat
  • 在settings.xml或属性文件中的context.xml中设置用户名和密码
  • 我需要将用户名和密码设置为项目外部,以便敏感信息不会存储在版本控制中。

    如果我硬编码的用户名和密码,Maven的tomcat插件工作正常。 我将context.xml fil放在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}
    

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

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


    您需要在'配置'中添加'服务器'标签并将其ID指定为值。 在你的情况下,这是一个'演示'。

    <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>
            <server>demo</server>
        </configuration>
    </plugin>
    
    链接地址: http://www.djcxy.com/p/62957.html

    上一篇: Launch tomcat from Maven with context.xml and injected password

    下一篇: Pass port number from docker