前言
在Java程序开发中,包依赖管理是一件非常的无聊,琐碎,费时费力。maven不仅可以帮助你轻松地管理包依赖,还可以让你的测试,构建,部署,变得方便。你只需要在你的项目pom.xml文件中指定你所需要依赖的软件包,那么Maven就会帮助你找到并下载你所须的那个软件,以及它对应的版本。maven会帮助你维护一个局部的代码库,这样每次你需要一个软件包,maven就会自动去本地库中帮你去找。如果没有找到需要的软件,它就帮你去全局库中寻找,并下载到本地。
简介
学习如何使用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>
配置自动部署
在pom文件中加上如下配置,即可通过命令mvn tomcat7:deploy -Dmaven.test.skip=true自动将web项目部署到服务器。在启动前需保证tomcat处于启动状态。如果通过eclipse启动,则不需要mvn开头,否则会报错。
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.tomcat.maven</groupId>
- <artifactId>tomcat7-maven-plugin</artifactId>
- <version>2.2</version>
- <configuration>
- <goal>compile,install, deploy, site, post-site, site-deploy</goal>
- <url>http://127.0.0.1:8080/manager/html</url>
- <server>tomcat</server>
- <username>admin</username>
- <password>12345</password>
- <update>true</update>
- </configuration>
- </plugin>
- </plugins>
- </build>
如果编译过程中出现:web.xml which will be ignored提示信息,则可通过添加如下配置解决:
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-war-plugin</artifactId>
- <version>2.1.1</version>
- <configuration>
- <packagingExcludes>WEB-INF/web.xml</packagingExcludes>
- </configuration>
- </plugin>
使用
完成以上的安装配置后,你就可以享受maven的便捷了。只要在终端敲入以下代码,maven就会帮助你完成所有的打包部署工作。
- mvn clean package tomcat7:deploy