`

maven打war包到指定目录下和tomcat下

 
阅读更多
from

http://blog.csdn.net/qh_java/article/details/52205448

一、maven打war包到指定目录下

初步解决方法:
maven中更改target目录可以用<build>子目录<directory>,但是<directory>只能是相对于当前项目的目录,

虽然也能将war包打到项目外的目录下面,但是项目下会出现一个奇怪的很深的目录,有点不合适所以使用下面的插件来实现。

使用maven-dependency-plugin插件将war包打到指定的路径下:


<build> 
        <plugins> 
            <plugin> 
                <groupId>org.apache.maven.plugins</groupId> 
                <artifactId>maven-war-plugin</artifactId> 
                <version>2.1.1</version> 
                <configuration> 
                <!--指定web.xml的路径  --> 
                    <webXml>WebRoot\WEB-INF\web.xml</webXml> 
                    <!--指定jsp、js、css的路劲  --> 
                    <warSourceDirectory>WebRoot</warSourceDirectory> 
                </configuration> 
            </plugin> 
            <!--打war包到指定的目录下 -->  
            <plugin>   
                <groupId>org.apache.maven.plugins</groupId>   
                <artifactId>maven-dependency-plugin</artifactId>   
                <version>2.8</version>   
                <executions>   
                    <execution>   
                        <id>copy-war</id>   
                        <phase>package</phase>   
                        <goals>   
                            <goal>copy</goal>   
                        </goals>   
                        <configuration>   
                            <artifactItems>   
                                <artifactItem>   
                                    <groupId>${project.groupId}</groupId>   
                                    <artifactId>${project.artifactId}</artifactId>   
                                    <version>${project.version}</version>   
                                    <type>${project.packaging}</type>   
                                </artifactItem>   
                            </artifactItems>   
                          <!--   <outputDirectory>${dist.console.war.dir}</outputDirectory>   --> 
                          <!--指定war包保存地址--> 
                            <outputDirectory>D:\Javaee\mypackage</outputDirectory>   
                            <includes>    
                                <include>*.war</include>    
                            </includes>   
                        </configuration>   
                    </execution>   
                </executions>   
            </plugin> 
        </plugins> 
    </build> 



二、项目打包到tomcat下
环境:apache-maven-3.0.5、apache-tomcat-7.0.39

配置流程如下:

1、 apache-tomcat-7.0.39配置C:\Program Files\apache-tomcat-7.0.39\conf\tomcat-users.xml,因为tomcat7默认情况下没有配置manager访问权限,所以这里需要在tomcat-users.xml加入用户以及权限


[html] view plain copy print?在CODE上查看代码片派生到我的代码片
<tomcat-users> 
    <role rolename="admin-gui"/> 
    <role rolename="admin-script"/> 
    <role rolename="manager-gui"/> 
    <role rolename="manager-script"/> 
    <role rolename="manager-jmx"/> 
    <role rolename="manager-status"/> 
    <user username="admin" password="admin" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-script,admin-gui"/> 
</tomcat-users> 
2、apache-maven-3.0.5配置C:\Program Files\apache-maven-3.0.5\conf\settings.xml,为了让maven可以访问tomcat的权限,所以需要把如上创建的用户添加到settings.xml中,如下

[html] view plain copy print?在CODE上查看代码片派生到我的代码片
<servers> 
    <!-- 配置tomcat-/manager/text 访问权限 --> 
    <server> 
      <id>tomcat</id> 
      <username>admin</username> 
      <password>admin</password> 
    </server> 
  </servers> 
3、工程目录下的pom.xml文件,加入build,并配置tomcat7的maven插件,如下配置

[html] view plain copy print?在CODE上查看代码片派生到我的代码片
<build> 
        <finalName>myApp</finalName> 
        <!-- directory缺省情况下指向target -->  
        <!--<directory>${basedir}/target</directory>--> 
        <plugins> 
            <plugin> 
                <groupId>org.apache.tomcat.maven</groupId> 
                <artifactId>tomcat7-maven-plugin</artifactId> 
                <version>2.2</version> 
                <configuration> 
                    <url>http://localhost:8080/manager/text</url> 
                    <!-- server、username、password对应maven的setting下的配置 --> 
                    <server>tomcat</server> 
                    <username>admin</username> 
                    <password>admin</password> 
                    <path>/${project.build.finalName}</path> 
                    <!-- war文件路径缺省情况下指向target --> 
                    <!--<warFile>${basedir}/target/${project.build.finalName}.war</warFile>--> 
                </configuration> 
            </plugin> 
        </plugins> 
    </build> 
 ${project.build.finalName}这个是根据xml的路径来标记的

ok 到这里配置结束了,下面看这么打包到tomcat下:
命令部署:


1、在部署之前,必须先启动tomcat7服务,C:\Program Files\apache-tomcat-7.0.39\bin\startup.bat

  找到要部署的工程文件根目录下,执行如下maven命令

  > mvn clean:install             //clean是清理输出文件,install编译打包,在每次打包之前必须执行clean,才能保证发布为最新文件

  > mvn tomcat7:redeploy    //第一次发布 tomcat7:deploy,再次发布 tomcat7:redeploy


2、错误问题

Cannot invoke Tomcat manager: Server returned HTTP response code: 403 for URL: http://localhost:8080/manager/deploy?path=%2FmyApp&war=

 


如上问题,有如下两个原因:

  A、由于maven没有权限访问http://localhost:8080/manager/text,所以需要在apache-tomcat下的tomcat-users.xml增加用户权限,并配置于maven的setting文件中

  B、由于maven-tomcat插件问题,通过http://search.maven.org/搜索tomcat-maven-plugin,发现最新版本之后,最后执行> mvn tomcat:redeploy,一直都会显示上面这个报错,这里如果是tomcat7,建议直接通过http://search.maven.org/搜索tomcat7-maven-plugin插件,执行> mvn tomcat7:redeploy,这样就部署成功了;如果tomcat6就直接通过http://search.maven.org/搜索tomcat6-maven-plugin

  所以这里需要注意tomcat7-maven-plugin插件的引入,正确引入将解决以上问题

  

  <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>

  >  mvn tomcat7:redeploy
  即可完成部署

maven打包部署到tomcat下文章来自:

http://www.cnblogs.com/candle806/p/3785708.html

http://www.yiibai.com/maven/deploy-maven-based-war-file-to-tomcat.html
分享到:
评论

相关推荐

    maven自动部署war包到tomcat.doc

    "Maven自动部署WAR包到Tomcat" Maven自动部署WAR包到Tomcat是将Maven项目打包成WAR包并自动部署到Tomcat服务器的过程。下面是该过程的详细步骤: 步骤一:配置Tomcat 在Tomcat安装目录下找到tomcat-users.xml文件...

    Spring Boot+maven打war包的方法

    标签包括spring boot、maven、打war包和maven打war包,表示本文的主要内容是关于使用Spring Boot和maven来生成war包的方法。 部分内容解释 在本文中,我们将逐步介绍如何使用Spring Boot和maven来生成war包。首先,...

    Spring Boot项目导出war包放到tomcat运行跳转到页面出现404报错

    - 将生成的WAR文件复制到Tomcat的`webapps`目录下,并重启Tomcat服务器。 通过以上步骤,我们不仅解决了404错误的问题,还确保了Spring Boot项目能够顺利地以WAR包的形式部署到Tomcat服务器上,从而更好地适应不同...

    Springboot项目正确打war包maven版pom.rar

    在Spring Boot项目中,我们通常会使用Maven作为构建...以上就是Spring Boot项目正确打war包的Maven配置方法。请根据自己的项目需求进行适当的调整,并确保所有依赖都已更新至最新稳定版本。如有问题,欢迎随时咨询。

    maven打包war配置

    在Java开发领域,Maven是一个不可或缺的构建工具,它能够帮助开发者管理项目依赖、构建工件,如JAR或WAR包。"maven打包war配置"这个主题涉及到如何使用Maven来打包一个Web应用程序(WAR)项目。WAR文件是Web应用的...

    maven 多war部署

    如果需要在同一个Tomcat服务器上部署多个WAR应用,可以使用Maven的Tomcat插件(maven-tomcat-plugin或tomcat7-maven-plugin)实现热部署。在每个子模块的pom.xml中添加插件配置,并设置不同的上下文路径,例如: ``...

    maven 打包 部署到tomcat 删除的jar包

    - 如果需要,可以在Tomcat的`lib`目录下手动放置缺失的JAR包,以确保服务器能够识别这些类库。 3. **清理并重新打包**: - 在修改完`pom.xml`之后,执行`mvn clean package`命令来清理旧的构建产物并重新打包应用...

    springboot 打成war包 部署至tomcat 中间件运行

    5. **部署到Tomcat**:将生成的WAR文件复制到Tomcat的`webapps`目录下。如果Tomcat正在运行,它会自动解压并加载应用。或者,你可以在Tomcat管理界面(如`http://localhost:8080/manager/html`)上传WAR文件进行部署...

    cas单点登陆集成到简单maven项目的全部war包

    总结,这个压缩包提供了集成CAS单点登录到Maven项目所需的全部资源,包括服务端war包和客户端DEMO,是学习和实践SSO技术的好材料。通过深入理解和操作这些内容,你可以更好地掌握CAS的工作原理以及如何在实际项目中...

    Maven项目打包成war包部署到Tomcat的方法

    将生成的war包放置到Tomcat服务器的webapps目录下,然后修改Tomcat服务器的配置文件server.xml。在server.xml文件中添加以下内容:。这里的docBase属性值是我们的war包名称。 Tomcat服务器启动 进入Tomcat服务器的...

    Maven和Tomcat插件

    在IT行业中,Maven和Tomcat是两个非常重要的工具,它们在Java开发中扮演着关键角色。Maven是一个项目管理工具,它可以帮助开发者管理和构建Java项目,而Tomcat则是一个流行的开源Servlet容器,用于部署和运行Java ...

    maven的安装文件以及集成TOMCAT、eclipse的教程

    1. **安装Tomcat**: 下载Tomcat的zip版,解压到指定目录,例如`C:\Tomcat\apache-tomcat-9.x.x`。 2. **配置Tomcat**: 在Eclipse的Servers视图中,右键选择`New -&gt; Server`,选择Apache Tomcat服务器,指向Tomcat的...

    Java项目包 Jenkins+Maven+Gitlab+Tomcat 自动化构建打包、部署

    在自动化部署流程中,Tomcat接收由Jenkins和Maven处理后的WAR文件,并将其部署到服务器上,供用户访问。 具体步骤如下: 1. **配置Jenkins**:首先,我们需要在Jenkins服务器上安装必要的插件,如GitLab Plugin、...

    jenkins实现maven项目自动部署到tomcat

    War包方式适用于任何操作系统,只需将war文件放入Tomcat的webapps目录下,启动Tomcat即可。MSI方式则只适用于Windows,通过安装程序直接安装,并在服务中启动Jenkins。 **5. Jenkins配置** 安装完成后,你需要配置...

    springboot 打包war包

    打包完成后,生成的WAR文件可以被上传到传统的Web服务器如Tomcat的webapps目录下。服务器会自动解压WAR包,并启动其中的Spring Boot应用。注意,由于Spring Boot的特性,即使打包为WAR,它仍然可以作为一个独立的...

    IDEA 如何打war包

    - `&lt;resources&gt;`:定义项目资源文件的处理方式,这里设置了两个资源文件夹:`src/main/webapp`和`src/main/resources`,并将`src/main/webapp`下的文件拷贝到`META-INF/resources`目录下。 #### 四、IntelliJ IDEA...

    jenkins war包,放入tomcat 下就可以使用

    当你说"jenkins war包,放入tomcat下就可以使用",这意味着你可以将这个WAR文件部署到Tomcat服务器上,以运行Jenkins服务。 Tomcat是一款开源的Java Servlet容器,它实现了Java EE的Web应用程序规范,比如Servlet和...

    maven tomcat 服务器

    开发者可以将打包好的WAR(Web ARchive)文件放入Tomcat的webapps目录下,Tomcat会自动解压并启动应用。 **Maven与Tomcat的集成:** 在Maven中,我们可以使用Maven Tomcat插件(maven-tomcat-plugin或tomcat7-maven...

    spring boot项目打包成war在tomcat运行的全步骤

    主要是修改`pom.xml`配置,移除内置Tomcat,添加Servlet API依赖,创建适应Tomcat环境的启动类,然后通过Maven进行打包,最后将WAR文件部署到Tomcat的`webapps`目录下。这个过程有助于将Spring Boot应用融入传统的...

    maven自动部署到远程普通tomcat6服务器

    通过这种方式,Maven将自动把构建好的WAR包部署到远程的Tomcat6服务器上,并且能够轻松地进行版本迭代和更新。 综上所述,借助Maven的强大功能,我们可以非常方便地实现Web应用的自动化部署,极大地提高了开发效率...

Global site tag (gtag.js) - Google Analytics