您的位置:首页 > 运维架构 > Tomcat

在Unix系统中安装Maven并配置Maven自动发布java web到tomcat

2015-12-07 18:17 537 查看

前言

在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. 

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  

之后,在/etc/environment或者你~/.bashrc文件中加入MAVEN_HOME变量。这里把它放在/etc/enviroment文件中,添加MAVEN_HOME="/opt/maven3",使用下面的命令让MAVEN_HOME变量生效,并验证maven是否安装成功。

source /etc/enviroment  
echo $MAVEN_HOME  
mvn -version  

如果终端正常显示了maven的安装版本信息,那就说明你已经安装成功。

配置

maven其实是通过tomcat的一个接口来部署项目到tomcat服务器的,所以你需要先在tomcat中创建一个role和用户。这个role必须是manager-script,然后所创建的用户也需要加入这个role. 所以编辑/opt/tomcat7/conf/tomcat-users.xml文件,加入以下的配置信息。

<tomcat-users>  
        <role name="manager-script"/>  
        <user username="user" password="passwd" roles="manager-script"/>  
</tomcat-users>  

之后你需要把你所输入的用户名和密码添加到maven的/opt/maven3/conf/settings.xml配置文件中,这样,maven就可以用这个身份来跟tomcat服务器进行沟通。使用下面的方法来配置这个文件。

<server>  
            <id>local_server</id>  
            <username>user</username>  
            <password>passwd</password>  
</server>  

最后,你只要在你想要部署的项目pom.xml文件中加入下面的通用配置,你就可以用maven进行自动部署了。

<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>
 
4000
                <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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: