我开始学习Maven,现在尝试将其与我开发的Web应用程序集成。
我使用的是Tomcat 7,在大多数示例中,我看到人们在tomcat-users.xml
目录中的${CATALINA_HOME}/conf/
上指定用户,然后像这样修改maven的pom.xml
和settings.xml
:
tomcat-users.xml:
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="user" password="123456" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-gui,admin-script"></user>
</tomcat-users>
pom.xml:
<build>
...
<plugins>
...
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<server>apache-tomcat7</server>
<url>http://localhost:8080/manager/text</url>
<path>/${project.build.finalName}</path>
<username>user</username>
<password>123456</password>
</configuration>
</plugin>
</plugins>
</build>
settings.xml:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>${user.home}/.m2/repository</localRepository>
<interactiveMode>true</interactiveMode>
<usePluginRegistry>false</usePluginRegistry>
<offline>false</offline>
<servers>
<server>
<id>apache-tomcat7</id>
<username>user</username>
<password>123456</password>
</server>
</servers>
</settings>
所以我的问题是:
是否应该为每个项目每次都指定tomcat用户?我可以省略吗?
如果不能,出于安全原因是否仅需要它?
我还读到,在一个用户中组合
manager-script
和manager-gui
这样的角色是一种不好的做法-那么对于两个用户如何相应地修改上面列出的文件? 最佳答案
该插件的目的是能够在tomcat Web容器中部署/运行/测试您的Web项目以进行自动化测试。该插件将在测试开始之前启动tomcat服务器,并在测试结束后停止。鉴于使用此Web容器的性质,安全性可能不是首要问题,您可以跳过指定用户,而仅依赖于此处描述的默认值:Tomcat7 Maven Plugin usage。
希望这可以帮助。