使用Maven自动部署Java Web应用到Tomcat服务器
学习如何使用Maven,我推荐一本工具书,《maven the definitive guide》。在这本工具书手中,详细介绍了maven的使用思想,并且提供了从基本到复杂的具体项目应用。本文介绍maven在ubuntu系统下的安装配置使用。关于Tomcat的安装配置方法,请参看安装配置Nginx作为Apache和Tomcat的前端服务器。在安装好Maven之后,我会分别介绍如何在Maven和Tomcat端进行相应的配置,让Maven有权利访问Tomcat服务器,并部署Web应用。最后,我会展示如何在pom中配置tomcat maven plugin. 这个配置是通用的,你可以复制粘贴在任何你需要部署的项目中。
安装Maven
使用以下命令下载maven.
解压,重命名,放到一个你喜欢的地方。
使用下面的命令让你的系统知道它
之后,在/etc/environment或者你~/.bashrc文件中加入MAVEN_HOME变量。这里把它放在/etc/enviroment文件中,添加MAVEN_HOME="/opt/maven3",使用下面的命令让MAVEN_HOME变量生效,并验证maven是否安装成功。
如果终端正常显示了maven的安装版本信息,那就说明你已经安装成功。
- wget http://www.gtlib.gatech.edu/pub/apache/maven/maven-3/3.0.5/binaries/apache-maven-3.0.5-bin.tar.gz
- tar xvzf apache-maven-3.0.5-bin.tar.gz
- sudo mv apache-maven-3.0.5 /opt/maven3
- sudo chown -R root:root /opt/maven3
- sudo ln -s /opt/maven3/bin/mvn /usr/bin/mvn
- source /etc/enviroment
- echo $MAVEN_HOME
- mvn -version
配置
maven其实是通过tomcat的一个接口来部署项目到tomcat服务器的,所以你需要先在tomcat中创建一个role和用户。这个role必须是manager-script,然后所创建的用户也需要加入这个role. 所以编辑/opt/tomcat7/conf/tomcat-users.xml文件,加入以下的配置信息。
之后你需要把你所输入的用户名和密码添加到maven的/opt/maven3/conf/settings.xml配置文件中,这样,maven就可以用这个身份来跟tomcat服务器进行沟通。使用下面的方法来配置这个文件。
最后,你只要在你想要部署的项目pom.xml文件中加入下面的通用配置,你就可以用maven进行自动部署了。
- <tomcat-users>
- <role name="manager-script"/>
- <user username="user" password="passwd" roles="manager-script"/>
- </tomcat-users>
- <server>
- <id>local_server</id>
- <username>user</username>
- <password>passwd</password>
- </server>
- <plugins>
- <plugin>
- <groupId>org.apache.tomcat.maven</groupId>
- <artifactId>tomcat6-maven-plugin</artifactId>
- <version>2.1</version>
- </plugin>
- <plugin>
- <groupId>org.apache.tomcat.maven</groupId>
- <artifactId>tomcat7-maven-plugin</artifactId>
- <version>2.1</version>
- <configuration>
- <server>local_server</server>
- <url>http://localhost:8081/manager/text</url>
- <path>/${project.build.finalName}</path>
- </configuration>
- </plugin>
- </plugins>
使用
完成以上的安装配置后,你就可以享受maven的便捷了。只要在终端敲入以下代码,maven就会帮助你完成所有的打包部署工作。
- mvn clean package tomcat7:deploy