使用Maven完成自动化打包并部署到Linux服务器下(Tomcat7)

最近在使用maven,顺便尝试了下tomcat部署。网上找到了很多资料但是都不是最新的,所以贴上比较新的Tomcat7部署代码和配置,方便以后回顾-->测试OK。

1. 首先是配置Tomcat conf 目录下的tomcat-users.xml,配置用户权限,提供给本地Maven使用

  <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="tomcat" password="tomcat" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-script,admin-gui"/>

注意:刚开始我只配置了manager-gui这个role,在本地没问题,能正常登陆 http://127.0.0.1/manager,但是访问http://127.0.0.1/manager/text就不行了,所以如果需要配置的朋友可以把我的这个复制一份过去。

成功登陆后就说明Tomcat权限已经配置好了,接下来就是本地Maven的配置了。

2.我的Maven项目用的是聚合工程,所以我在parent pom的项目里加了这段插件,Tomcat6我还没试过,所以不知道行不行。

<!-- 远程部署 -->
        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.2</version>
            <configuration>
                <url>http://xxxxxx.xx.xxx:8082/manager/text</url>
                <server>test</server>
                <username>tomcat</username>
                <password>tomcat</password>
            </configuration>
        </plugin>

解释下 ur l就是你要部署到哪个端口的Tomcat下,不是项目的目录。Tomcat7默认这个,如果是6是不用加 text

3.接下来是Maven里面的settings.xml文件的配置,很简单,代码如下:

 <server>
      <id>test</id>
      <username>tomcat</username>
      <password>tomcat</password>
    </server> 

注意:这里的id对应的是Maven项目 pom.xml里面的 server , 其他的username 和 password都是一致的,即 Tomcat登录的用户名和密码。

4.如果以上配置都OK了,最后就是测试了,我这里是聚合工程,所以我是去我的子项目里面运行发布命令。记得如果要发布一定要记得提前启动Tomcat,否则会报错。

PS:其中在这个过程中遇到了两个明显问题,一个是401,一个是403。

401:基本上是用户名或者密码配置的不正确。

403:有两种情况,

1):pom里配置的url后缀是html,而不是text。这种是6的格式,7不能用,后缀只能是text。

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

2):tomcat用户的权限配置不正确。按文中配置就ok。

还有就是,tomcat要先启动,不要用IDE启动,手动运行tomcat的startup.bat/sh。

OK了。

时间: 2024-10-27 04:09:13

使用Maven完成自动化打包并部署到Linux服务器下(Tomcat7)的相关文章

在Eclipse中使用Maven将Web项目自动部署到tomcat服务器

一.创建Web项目 1.1 选择建立Maven Project 选择File -> New ->Project,如下图所示: 在New窗口中选择 Maven -> Maven Project.点击[next]如下图所示: 1.2 选择项目路径 根据项目的实际情况选择项目的存放目录,也可以选择[Use default Workspace location]默认工作空间.如下图所示: 1.3 选择项目类型 在Artifact Id中选择maven-archetype-webapp,如下图所示

将本地Java程序部署到linux服务器并执行

需求:将本地Java程序部署到linux服务器并执行,首先要将本地Java程序打成jar包,然后拷贝到服务器后运行java -jar xx.jar 问题:该程序本地运行正常,服务端运行报错找不到第三方包中的类 原因:本地打jar包时有错,未能正确引入第三方包 解决:本地通过fat jar插件来打包,方法如下 在Eclipse 下 java 应用程序打包 Mainfest.mf 格式 首先保证程序在Eclipse下的正常执行,然后方法如下: ( 写在最前面 做好的Eclipse打包 还是使用插件

使用java service wrapper将项目部署到linux服务器上

最近有需求是将java项目部署到linux服务器上作为服务端程序,最后经过测试成功.本着分享精神将总结出来的路子分享给大家,如果不明白的地方可以在下边留言,谢谢. 将java项目部署到linux服务器 1.      首先从官网下载http://wrapper.tanukisoftware.com/doc/english/download.jsp,注意下载的文件为Community列中的(PS:其他版本需要序列号) 2.      将写好的java项目打成jar包,待用 3.      将下载好

ASP.NET项目部署到Linux服务器出现服务器错误

在Linux系统中安装了Mono和Apache作为Web服务器,使用Visual Studio开发的ASP.NET Web应用或者API应用,在部署到Linux服务器后出现服务器错误,其中一个原因是由于默认的Visual Studio Web应用或API应用包含了Microsoft.CodeDom.Providers.DotNetCompilerPlatform和Microsoft.Net.Compilers两个Nuget包,通常应用不需要这两个包,可能是Mono没有完全实现导致的错误,所以只要

NET Core站点部署到Linux服务器

.NET跨平台之旅:将QPS 100左右的ASP.NET Core站点部署到Linux服务器上 今天下午我们将生产环境中一个单台服务器 QPS(每秒请求数)在100左右的 ASP.NET Core 站点部署到了 Linux 服务器上,这是我们解决了在 .NET Core 上使用 EnyimMemcached(memcached客户端)的问题之后,.NET 跨平台之旅迈出的重要一步.这个 ASP.NET Core 站点,既用了缓存,也有数据库访问操作,是一个典型的 Web 站点,如果它能持续稳定运

在dos窗口下使用maven命令进行打包,部署

1.cmd-->c:\users\administrator-->mvn -version先看一下maven安装是否成功,环境变量是否配置正确 2.cd至需要打包的项目的路径处:cd D:\xx\work\xxx\hfqnc123\smtkMaven 3.然后在项目的路径下就可以使用maven命令:mvn package,mvn deploy等命令来对项目进行打包,部署 4.如果要部署项目到远程仓库,需要配置: <distributionManagement> <reposi

SpringBoot部署到Linux服务器

今天来谈一下,用SpringBoot写的Demo来配置到Linux服务器. 这里,我用阿里云服务器作为实例,SpringBoot集成了SpringMvC+ mybatis 框架,用maven管理jar包(注:在配置SpringBoot的时候注意jar包的版本合理引用) 这些jar包应该可以正常跑起来的 不会出现jar包冲突的情况 这里贴上service层以及controller层. 所有配置都在本人git下  地址:https://github.com/ChoviWu/SpringBoot-Ja

如何将项目部署在linux服务器

用到工具:SecureCRT.WinSCP 1.首先用maven将项目打成war包,eclipse:选中项目右键-->run as-->maven package 这个会 2.copy空的Tomcat项目到linux服务器中,改端口 copy空的工程,就是new 个工程放到Tomcat 改端口就是: 首先我们远程进去 linux 步骤阅读 2 ssh的配置文件是在/etc/ssh/sshd_config这个文件里的 3 我们修改端口就是通过编辑这个文件实现 vi /etc/ssh/sshd_c

ireport部署到Linux服务器上遇到的问题解决

ireport报表在本地Windows环境运行正常,一旦部署到Linux环境上出现了如下问题: 1.打开报表,后台直接报net.sf.jasperreports.engine.util.JRFontNotFoundException: Font '仿宋' is not available to the JVM. See the Javadoc for more details...错误. 这个问题是之前以为是Linux环境未安装相应字体导致,但在Linux上安装相应字体后,仍然报错. 最初的解决