maven一键部署tomcat war包

1、环境如下

  eclipse、apache-maven-3.0.5、apache-tomcat-7.0.39

2、配置如下

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

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

  apache-maven-3.0.5配置C:\Program Files\apache-maven-3.0.5\conf\settings.xml,为了让maven可以访问tomcat的权限,所以需要把如上创建的用户添加到settings.xml中,如下

<servers>

    <!-- 配置tomcat-/manager/text 访问权限 -->
    <server>
      <id>tomcat</id>
      <username>admin</username>
      <password>admin</password>
    </server>

  </servers>

  工程目录下的pom.xml文件,加入build,并配置tomcat7的maven插件,如下配置

<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的路径来标记的

3、命令部署

  在部署之前,必须先启动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

4、问题

  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 war包

时间: 2024-10-21 04:15:42

maven一键部署tomcat war包的相关文章

关于云Linux部署tomcat服务器(Maven的多模块war包)

博主的运行环境: 电脑系统: Linux mint 18 JDK版本: java version "1.8.0_171" Maven版本:  Apache Maven 3.5.3 一.关于war包的生成: 如图,这是一个多模块项目,被分为前端和后端,生成的war包将在web部分生成,但是web部分对service部分有依赖,所以我们需要先将service部分的jar包生成才能保证web部分的war包成功生成: 生成service部分的jar包: 看到生成后,成功放置maven仓库: 接

Eclipse下maven项目自动打war包丢失jar包问题解决方法

以前用Eclipse测试maven 的web工程,在eclipse内部tomcat右键上点一下"clean"就可以把工作空间的web项目代码自动发布到"F:\IWorkspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp2\wtpwebapps"这个路径,十分的方便.如果tomcat里部署的war包选择的是"Add External Web Module"的话,那测试的话,就要哭了.每次

eclipse,myeclipse开发环境下,maven一键部署到tomcat7(图文)

有的人想在eclipse写java web 项目,通过maven也是一种实现的方法,可以实现java web 项目打包成war,发布到tomcat. 在pom.xml文件的build增加下面的代码,相应的地方修改账号和密码,还有发布的名称 <build> <finalName>daka_server</finalName> <!-- 原有代码 --> <plugin> <groupId>org.codehaus.mojo</gr

maven一键部署linux的tomcat(wagon-maven-plugin)

Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑.当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件. 程序开发完

tomcat war包部署

平常的开发我们都是通过IDE进行项目的部署,但有时候我们不得不进行手工部署(例如在Server上). 手工部署分为以下几步: 第1步: 用maven打war包 (假如得到的war包名为: appkit-web.war) mvn package 如果想打包过程中跳过测试,采用以下命令: mvn package -Dmaven.test.skip=ture 第2步: 把war包拷贝到tomcat安装的webapps目录下 cp target/appkit-web.war ~/software/apa

Linux下部署tomcat及tomcat war包应用程序

1, 通过winscp将tomcat包(6和7版本都是一样的安装方法)和jdk-6u27-linux-x64.bin安装文件传送到linux 系统/opt里面.(这里没有固定要传送到/opt/hn,可以自己定义.) 2, 安装首先解压tomcat和安装jdk(假设tomcat包是tomcat-6.0.35.tar,jdk是jdk-7u17-linux-i586.tar.gz) 解压tomcat命令如下: [[email protected]lentim hn]# tar -xvf tomcat-

怎么将maven项目打包成war包

问题:我在eclipse上能运行,然后我想将这个maven项目打包成war然后放到另外一台机子上(其实是手动放在tomcat的webapp目录中),提供外部访问.现在问题是,一直maven项目打包一直出错.请问大侠怎么将maven打包好?万分感谢 回答1:右键项目,选择Run As,再选择Maven build...,这时会弹出个新界面,在Goals里输入clean package,然后点击Run就行了,打包好的项目放在target文件夹下面.clean package是maven的一个命令,意

Spring Boot 2构建可部署的war包

默认情况下Spring Boot使用了内嵌的Tomcat服务器,项目最终被打成jar包运行,每个jar包可以被看作一个独立的Web服务器.传统的Web开发,一般会将Web应用打成一个war包,然后将其部署到Web服务器中运行.Spring Boot也支持传统的部署模式. 开发环境:IntelliJ IDEA 2019.2.2Spring Boot版本:2.1.8 1.新建一个名称为demo的Spring Boot项目. 2.修改pom.xml文件 下面粗体部分为所加代码,注释掉原来的build节

Maven中部署tomcat及maven构建的一些要点

1.部署tomcat 首先需要在tomcat的tomcat-users配置文件中引入manager相应的权限 <role rolename="manager"/> <role rolename="admin"/> <role rolename="manager-gui"/> <user username = "tomcat" password = "tomcat"