maven自动部署tomcat7

2024-02-08 05:58
文章标签 maven 部署 自动 tomcat7

本文主要是介绍maven自动部署tomcat7,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

from:http://blog.sina.com.cn/s/blog_7353ac200101gka7.html

多次验证,得把<</span>url>http://localhost:8080/manager/html</</span>url>调整为http://localhost:8080/manager/text。



多方搜索,终于使maven项目可以自动发布到tomcat下了。

tomcat7 需要使用 tomcat-maven-plugin 的新版本,版本支持tomcat6和tomcat7,groupId也由org.codehaus.mojo改为org.apache.tomcat.maven。  可以参考看看:http://tomcat.apache.org/maven-plugin.html

主菜来了。

1.修改项目的pom.xml  

a.在project节点下 添加tomcat-maven-plugin插件信息,如下写法添加了tomcat6和tomcat7的插件,如只用1种可以只写一个

[html]  view plain copy
  1. <</span>pluginManagement>  
  2.     <</span>plugins>  
  3.         <</span>plugin>  
  4.             <</span>groupId>org.apache.tomcat.maven</</span>groupId>  
  5.             <</span>artifactId>tomcat6-maven-plugin</</span>artifactId>  
  6.             <</span>version>2.0</</span>version>       
  7.             <</span>configuration>  
  8.               <</span>url>http://localhost:8080/manager/html</</span>url>   
  9.               <</span>server>tomcat</</span>server>  
  10.             </</span>configuration>         
  11.         </</span>plugin>  
  12.         <</span>plugin>  
  13.             <</span>groupId>org.apache.tomcat.maven</</span>groupId>  
  14.             <</span>artifactId>tomcat7-maven-plugin</</span>artifactId>  
  15.             <</span>version>2.0</</span>version>  
  16.             <</span>configuration>  
  17.                 <</span>url>http://localhost:8080/manager/html</</span>url>   
  18.                 <</span>server>tomcat</</span>server>  
  19.             </</span>configuration>  
  20.         </</span>plugin>  
  21.     </</span>plugins>  
  22. </</span>pluginManagement>  

 

<plugin>

         <groupId>org.apache.tomcat.maven</groupId>

         <artifactId>tomcat7-maven-plugin</artifactId>

         <version>2.0</version>

         <configuration>

            <url>http://localhost:8080/manager/text</url>

            <server>tomcat</server>

            <username>admin</username>  

        <password>1234</password>  

        </configuration>

       </plugin>

--html可以替换成text,此处必须替换为text,否则报403。

 

b.在project节点下,添加仓库信息,保证maven可以从仓库中下载到tomcat-maven-plugin插件,少添加了这段信息,没有下载到插件,导致报错,浪费了不少时间。

网上的帖子说要添加如下两段信息,个人怀疑只需要添加1段。

 

[html]  view plain copy
  1. <</span>repository>  
  2.     <</span>id>people.apache.snapshots</</span>id>  
  3.     <</span>url>  
  4.         http://repository.apache.org/content/groups/snapshots-group/  
  5.     </</span>url>  
  6.     <</span>releases>  
  7.         <</span>enabled>false</</span>enabled>  
  8.     </</span>releases>  
  9.     <</span>snapshots>  
  10.         <</span>enabled>true</</span>enabled>  
  11.     </</span>snapshots>  
  12. </</span>repository>  


[html]  view plain copy
  1. <</span>pluginRepository>  
  2.     <</span>id>apache.snapshots</</span>id>  
  3.     <</span>name>Apache Snapshots</</span>name>  
  4.     <</span>url>  
  5.         http://repository.apache.org/content/groups/snapshots-group/  
  6.     </</span>url>  
  7.     <</span>releases>  
  8.         <</span>enabled>false</</span>enabled>  
  9.     </</span>releases>  
  10.     <</span>snapshots>  
  11.         <</span>enabled>true</</span>enabled>  
  12.     </</span>snapshots>  
  13. </</span>pluginRepository>  


 2.配置setting.xml,%MAVEN_HOME%\conf\setting.xml(前提是在myeclipse preferences中maven启用本地安装版本并设置用户setting.xml为本地conf下的setting.xml,而不是插件,插件应该是“我的文档”\.m2\setting.xml),

在标签中加入

[html]  view plain copy
  1. <</span>server>  
  2.        <</span>id>tomcat</</span>id>  
  3.        <</span>username>admin</</span>username>  
  4.        <</span>password>admin</</span>password>  
  5. </</span>server>  

id与pom.xml文件配置相同,用户名密码与tomcat_user相同。

本部分配置也可写在pox.xml 的中

 

3.给tomcat配置用户,%TOMCAT_HOME%\conf\tomcat_user.xml 增加以下角色和用户,用于tomcat_maven_plugin自动部署工程

[html]  view plain copy
  1. <</span>role rolename="manager-gui"/>    
  2. <</span>role rolename="manager-script"/>    
  3. <</span>user username="admin" password="admin" roles="manager-gui, manager-script"/>    

4. 启动tomcat,在工程或pom.xml上右键,maven build的goals中输入命令tomcat7:deploy即可发布,或在Run Configurations->Maven build新建一个命令,base directory里选择你的web project,在Goals栏可填写你所需要的命令。

goals中使用的命令可以参考http://tomcat.apache.org/maven-plugin-2.0-SNAPSHOT/tomcat7-maven-plugin/plugin-info.html 


5.tomcat7.0出现在maven中发布出现问题:-Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment variable and mvn script match.

可以设一个环境变量M2_HOME指向你的maven安装目录

M2_HOME=D:\Apps\apache-maven-3.3.1

然后在Window->Preference->Java->Installed JREs->Edit

在Default VM arguments中设置

-Dmaven.multiModuleProjectDirectory=$M2_HOME


参考链接:


http://hi.baidu.com/xikan/blog/item/66547fedb13201f5b21cb120.html

http://vivus.iteye.com/blog/1561664


这篇关于maven自动部署tomcat7的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/690083

相关文章

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

Nginx部署HTTP/3的实现步骤

《Nginx部署HTTP/3的实现步骤》本文介绍了在Nginx中部署HTTP/3的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前提条件第一步:安装必要的依赖库第二步:获取并构建 BoringSSL第三步:获取 Nginx

MyBatis Plus实现时间字段自动填充的完整方案

《MyBatisPlus实现时间字段自动填充的完整方案》在日常开发中,我们经常需要记录数据的创建时间和更新时间,传统的做法是在每次插入或更新操作时手动设置这些时间字段,这种方式不仅繁琐,还容易遗漏,... 目录前言解决目标技术栈实现步骤1. 实体类注解配置2. 创建元数据处理器3. 服务层代码优化填充机制详

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

Maven中生命周期深度解析与实战指南

《Maven中生命周期深度解析与实战指南》这篇文章主要为大家详细介绍了Maven生命周期实战指南,包含核心概念、阶段详解、SpringBoot特化场景及企业级实践建议,希望对大家有一定的帮助... 目录一、Maven 生命周期哲学二、default生命周期核心阶段详解(高频使用)三、clean生命周期核心阶

基于Redis自动过期的流处理暂停机制

《基于Redis自动过期的流处理暂停机制》基于Redis自动过期的流处理暂停机制是一种高效、可靠且易于实现的解决方案,防止延时过大的数据影响实时处理自动恢复处理,以避免积压的数据影响实时性,下面就来详... 目录核心思路代码实现1. 初始化Redis连接和键前缀2. 接收数据时检查暂停状态3. 检测到延时过

Linux部署中的文件大小写问题的解决方案

《Linux部署中的文件大小写问题的解决方案》在本地开发环境(Windows/macOS)一切正常,但部署到Linux服务器后出现模块加载错误,核心原因是Linux文件系统严格区分大小写,所以本文给大... 目录问题背景解决方案配置要求问题背景在本地开发环境(Windows/MACOS)一切正常,但部署到

idea Maven Springboot多模块项目打包时90%的问题及解决方案

《ideaMavenSpringboot多模块项目打包时90%的问题及解决方案》:本文主要介绍ideaMavenSpringboot多模块项目打包时90%的问题及解决方案,具有很好的参考价值,... 目录1. 前言2. 问题3. 解决办法4. jar 包冲突总结1. 前言之所以写这篇文章是因为在使用Mav

SpringBoot实现RSA+AES自动接口解密的实战指南

《SpringBoot实现RSA+AES自动接口解密的实战指南》在当今数据泄露频发的网络环境中,接口安全已成为开发者不可忽视的核心议题,RSA+AES混合加密方案因其安全性高、性能优越而被广泛采用,本... 目录一、项目依赖与环境准备1.1 Maven依赖配置1.2 密钥生成与配置二、加密工具类实现2.1