`

关于Maven的远程部署

阅读更多

本文来自各网友收集整理   本人只做备忘之用

 

使用maven-wagon-plugin远程部署war项目

 

我的目的是将本地打好的war包传输到远程服务器上的某个固定目录中

使用maven的其他插件也可以完成同样的任务,wagon-plugin相对简单。

1.我使用ssh,所以不需要手动引入任何依赖,如果使用ftp需要引入特定包

2.我使用了upload-single goal

3.我是用来maven-wagon-plugin 1.0-beta-3版本,截至2011-09-05最新版本

下面是pom:

 

 

<build>

              ……

              <pluginManagement> 
                    <plugins> 
                        <plugin> 
                            <groupId>org.codehaus.mojo</groupId> 
                            <artifactId>wagon-maven-plugin</artifactId> 
                            <version>1.0-beta-3</version> 
                            <executions> 
                                <execution> 
                                    <id>upload-war</id> 
                                    <phase>package</phase> 
                                    <goals> 
                                        <goal>upload-single</goal> 
                                    </goals> 
                                    <configuration> 
                                        <fromFile>target\${project.artifactId}.${project.packaging}</fromFile> 
                                        <url>scp://yoururl(e.g.123.12.12.1)/</url>

                                        <!—serverId 是你在setting.xml中配置的server信息 –> 
                                        <serverId>cms_server</serverId> 
                                        <skip>false</skip>

                                        <!– 相对路径,相对于你上面定义的scp地址,结果是:url/home/reader/service…. –> 
                                        <toFile>home/reader/service/${project.artifactId}.${project.packaging}</toFile> 
                                    </configuration> 
                                </execution> 
                            </executions> 
                        </plugin> 
                    </plugins> 
                </pluginManagement>

                ……

                <plugins> 
                    <plugin> 
                        <groupId>org.codehaus.mojo</groupId> 
                        <artifactId>wagon-maven-plugin</artifactId> 
                    </plugin> 
                </plugins>

               ……

               </build>
 

 

 

然后你在执行mvn package的时候,就会看到类似的传输信息:upload target/…*.war到scp:url/home/reader/service/*.war

然后检查远程服务器是否收到了文件,如果配置正确并且build success的话,一定能看到你想看到的文件。

以后我在发布我的prod 产品的时候,只需要执行一个带prod参数的package命令就可以咯,现在是

clean package -Denvirenment.type=prod

(-D参数是用来选择maven profiles的,通过profiles可以配置不同的产品开发环境打不同属性的包)


setting.xml中的server信息的话参考setting中的例子就行,类似:

 

    <server> 
      <id>cms_server</id> 
      <username>root</username> 
      <password>,?N_iXasdflksajdflk</password> 
    </server>
 

 

maven 实现tomcat的远程部署

需要更改的有三处: 
1.tomcat的配置:在conf\tomcat-users.xml中加上有管理权限的用户: 
<?xml version='1.0' encoding='utf-8'?>   
<tomcat-users>   
  <role rolename="manager"/>   
  <user username="marshal" password="password" roles="manager"/>   
</tomcat-users>  

2.在pox.xml中添加 
plugin>   
    <groupId>org.codehaus.mojo</groupId>   
    <artifactId>tomcat-maven-plugin</artifactId>   
    <configuration>   
        <url>http://localhost:8080/manager</url>   
        <server>tomcat.server</server>   
        <path>/mycontext</path>   
    </configuration>   
</plugin> 

3.在.m2/settings.xml文件中增加: 
<settings xmlns="http://maven.apache.org/POM/4.0.0"  
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0   
http://maven.apache.org/xsd/settings-1.0.0.xsd">   
        <servers>   
                <server>   
                        <id>tomcat.server</id>   
                        <username>marshal</username>   
                        <password>password</password>   
                </server>   
        </servers>   
</settings>  
注意:红色的要一致,username和password要一致,<url>要配置上服务器的url</url>

 

分享到:
评论

相关推荐

    tomcat_maven远程部署配置文档

    tomcat_maven远程部署配置文档 tomcat_maven远程部署配置文档

    maven 远程部署tomcat

    使用maven插件,可以把java web项目远程部署到tomcat容器,免去了手工拷贝的重复造轮子。 maven

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

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

    maven集成tomcat支持热部署

    使用maven 对java程序编译构建,打包和部署。自动化部署

    maven项目跨机器部署

    myeclipse中maven的一些常见功能总结;借助maven将本地项目部署到远程tomcat容器。

    chm版本Maven教程

    如何从Maven远程存储库下载? Maven添加远程仓库 Maven依赖机制 定制库到Maven本地资源库 使用Maven创建Java项目 使用Maven创建Web应用程序项目 Maven POM Maven 构建生命周期 Maven 构建配置文件 Maven存储库 Maven...

    maven自动部署到远程tomcat服务器的方法

    主要介绍了使用maven的自动部署功能可以很方便的将maven工程自动部署到远程tomcat服务器,节省了大量时间,需要的朋友可以参考下

    maven项目远程部署&&使用tomcat配置数据库连接的方法

    主要介绍了maven项目远程部署&&使用tomcat配置数据库连接,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

    cargo远程部署web项目资料

    maven cargo插件远程部署web项目的简单案例,留作笔记,也分享给大家了!希望有所帮助

    maven window下安装包

    第9章:使用Nexus创建私服/9.6 部署构件到Nexus/9.6.1 使用Maven部署构件到Nexus 第9章:使用Nexus创建私服/9.7 Nexus的权限管理/9.7.1 Nexus的访问控制模型 第9章:使用Nexus创建私服/9.7 Nexus的权限管理/9.7.2 为...

    maven利用tomcat插件部署远程Linux服务器的步骤详解

    Maven已经是Java的项目管理常用方式,下面这篇文章主要给大家介绍了关于maven利用tomcat插件部署远程Linux服务器的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习...

    maven入门到精通

    Maven 的基本原理很简单,采用远程仓库和本地仓库以及一个类似 build.xml 的 pom.xml ,将 pom.xml 中定义的 jar 文件从远程仓库下载到本地仓库,各个应用使用同一个本地仓库的 jar ,同一个版本的 jar 只需下载一次...

    tomcat-maven-plugin

    maven-tomcat-plugin让maven与tomcat配合得很好。它可以把应用部署到Tomcat服务器,也可以把tomcat作为内嵌服务器启动,就像jetty一样。 使用JPDA启动tomcat的远程调试功能。这样就能与eclipse配合起来,轻松地实现...

    Maven2 的新特性.7z

    在settings.xml中可以配置,如本地Repository、proxy等等,关于settings.xml的结构可以从Maven的官方网站上获取。 3. Plugin语言更换 在Maven2中,编写plugin的语言由jelly变更为Java和BeanShell。Java在速度上更有...

    Maven权威指南 很精典的学习教程,比ANT更好用

    Maven权威指南是一本关于Apache Maven的书。 Copyright 1. Creative Commons BY-ND-NC Foreword: Beta 0.16 Preface 1. How to Use this Book 2. Your Feedback 3. Font Conventions 4. Maven Writing ...

    CentOS7下svn+tomcat9.0+maven3.3+jenkins实现web项目自动构建与远程发布

    CentOS7下svn+tomcat9.0+maven3.3+jenkins实现web项目自动构建与远程发布

    Maven 私服 Nexus3

    采用一种被称之为Project Object Model(POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xml的文件中, 通过该文件Maven可以管理项目的整个生命周期,包括清除、编译,测试,报告、打包、部署等等。...

    项目管理-maven(一)

    Maven是一个流行的项目管理工具,用于帮助Java开发人员构建、发布和管理项目。它提供了一种标准化的方式来构建项目、管理...项目部署:Maven支持将项目构建结果发布到本地仓库或者远程仓库,使得项目的可重用性和分享

Global site tag (gtag.js) - Google Analytics