1.编写pom文件如下:

<build>

<plugins>

<plugin>

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

<artifactId>maven-release-plugin</artifactId>

<version>2.4.1</version>

</plugin>

<plugin>

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

<artifactId>maven-deploy-plugin</artifactId>

<version>2.7</version>

<configuration>

<updateReleaseInfo>true</updateReleaseInfo>

</configuration>

</plugin>

</build>

1个release插件1个deploy插件

2.在Nexus中设置用户名和密码

<server>

<id>ci-release</id>

<username>用户名</username>

<password>密码</password>

</server>

<server>

<id>ci-snapshot</id>

<username>用户名</username>

<password>密码</password>

</server>

3.打包管理

<distributionManagement>

<repository>

<id>ci-release</id>

<name>Internal Releases</name>

<url>http://ip地址:端口/nexus/content/repositories/releases</url>

</repository>

<snapshotRepository>

<id>ci-snapshot</id>

<name>Internal Snapshots</name>

<url>http://192.168.156.138:8088/nexus/content/repositories/snapshots/</url>

</snapshotRepository>

</distributionManagement>

4.设置SVN(scm标签设置SVN、CVS保存地址)

<scm>

<connection>scm:svn:https://IP地址:端口/svn/PSPlatForm_BS/trunk/bj-gbplatform</connection>

<developerConnection>scm:svn:https://IP:端口/svn/PSPlatForm_BS/trunk/bj-gbplatform</developerConnection>

<url>https://192.168.152.88:端口/svn/PSPlatForm_BS/trunk/bj-gbplatform</url>

</scm>

5.以来war包导入(公共代码)依赖时候使用

<plugin>

<artifactId>maven-war-plugin</artifactId>

<version>2.2</version>

<configuration>

<outputDirectory>${dir.tomcat.deploy}</outputDirectory>

<warName>gb-monitor</warName>

<overlays>

<overlay>

<skip>${common.web.overlay.skip}</skip>

<groupId>com.ibs.gbplatform.common.core</groupId>

<artifactId>gbplatform-common-web</artifactId>

<excludes>

<exclude>**/web.xml</exclude>

<exclude>**/WEB-INF/lib/**</exclude>

<exclude>**/GBApp/**</exclude>

<exclude>**/MyDesktop/**</exclude>

<exclude>**/MCApp/**</exclude>

<exclude>**/ibssig*/**</exclude>

</excludes>

</overlay>

</overlays>

</configuration>

</plugin>

6.在pom.xml 中右键Run As→Maven Build运行clean install deploy 打包到Nexus上(修改Ip地址打包不同私服和服务器)

7.Maven的发布版本

在cmd命令下到项目目录下使用mvn release:prepare命令( maven-release-plugin)

详细请看Maven的发布Mvn-release-plugin命令

8.打包发布成功!

9.Maven的常用命令收集

Maven常用命令: 
 1. 创建Maven的普通java项目: 
   mvn archetype:create 
   -DgroupId=packageName 
   -DartifactId=projectName  
2. 创建Maven的Web项目:   
    mvn archetype:create 
    -DgroupId=packageName    
    -DartifactId=webappName 
    -DarchetypeArtifactId=maven-archetype-webapp    
3. 编译源代码: mvn compile 
4. 编译测试代码:mvn test-compile    
5. 运行测试:mvn test   
6. 产生site:mvn site   
7. 打包:mvn package   
8. 在本地Repository中安装jar:mvn install 
9. 清除产生的项目:mvn clean   
10. 生成eclipse项目:mvn eclipse:eclipse  
11. 生成idea项目:mvn idea:idea  
12. 组合使用goal命令,如只打包不测试:mvn -Dtest package   
13. 编译测试的内容:mvn test-compile  
14. 只打jar包: mvn jar:jar  
15. 只测试而不编译,也不测试编译:mvn test -skipping compile -skipping test-compile 
      ( -skipping 的灵活运用,当然也可以用于其他组合命令)  
16. 清除eclipse的一些系统设置:mvn eclipse:clean

maven使用命令上传jar包到私服

公司里面有自己的公共代码库,如果希望交给Maven进行管理,可以搭建Nexus服务器,将公司的公共代码库的代码打成jar包,然后上传到Nexus私服服务器上,项目组的成员就可以在Maven项目中通过添加依赖的方式把公司公共库的jar包给关联到项目中.

在Nexus2的版本中是提供了服务器端可视化界面支持上传第三方Jar包的,但是Nexus3的版本中好像已经把该功能给阉割了.只能手动的通过命令行的方式将第三方的Jar包导入到私服中.其实也不难,比起Nexus2来说稍显复杂些.具体步骤如下.

1.首先在Nexus服务器配置了存放第三方Jar包的本地仓库hosted,如果已经配置,直接跳到第2步,如果没有配置,按如下配置,
1.1登陆Nexus服务器,创建仓库 Create repository

1.2选择仓库类型,选择maven2(hosted),本地仓库:

1.3给仓库起个名字,然后点击最下面的(图中没显示)的Create repository 按钮

1.4保存之后,在点击进入这个本地仓库,拿到该本地仓库的地址:
http://localhost:8081/repository/3rd_part/
待会后面执行命令的时候需要把localhost换成Nexus的服务器地址.

1.5去到仓库组maven-public中添加刚刚创建的本地仓库3rd_part:

接着将本地仓库3rd_part 加入到仓库组中:

到这一步就已经在Nexus服务器添加存放第三方Jar包的本地仓库

2.如下操作在项目组成员电脑操作都可以的.
找到.m2/setting.xml 或者 maven安装目录/conf/setting.xml 文件,找到里面的 <servers> 节点,添加如下配置:

<server>
<id>thirdparty</id>
<username>admin</username>
<password>admin123</password>
</server>
id:待会输入命令的时候需要用到
username:表示Nexus服务器的登陆账号
password:表示Nexus服务器的登陆密码

2.打开CMD命令控制台,输入如下命令:

mvn deploy:deploy-file -DgroupId=com._520it -DartifactId=IKAnalyzer -Dversion=12012FF_u1 -Dpackaging=jar -Dfile=D:\test\IKAnalyzer2012FF_u1.jar -Durl=http://192.168.35.128:8081/repository/3rd_part/ -DrepositoryId=thirdparty

DgroupId、DartifactId、Dversion:构成了该jar包在pom.xml的坐标,自己起名字也是可以的.
Dpackaging:表示打包类型.
Dfile:表示需要上传的jar包的绝对路径.
Durl:私服上第三方仓库的地址,打开nexus——>repositories菜单,可以看到该路径。
DrepositoryId:服务器的表示id,就是我们在setting.xml文件中配置的serverId。

执行成功表示已经上传到Nexus私服了.

3.项目组成员就可以在自己项目中的pom.xml文件中添加如下的依赖:

<dependency>
<groupId>com._520it</groupId>
<artifactId>IKAnalyzer</artifactId>
<version>12012FF_u1</version>
</dependency>
该Jar包就自动的关联到项目中了.

Maven项目的打包发布到Nexus私服和服务器的更多相关文章

  1. 如何发布本地maven项目jar包部署到nexus私服?

    首先在我们的pom里面描述我们要部署的地址: <distributionManagement> <repository> <id>release</id> ...

  2. maven之如何将自己的写的 maven 构件发布到 nexus 私服

    概念:Nexus服务器是一个代码包管理的服务器,可以理解 Nexus 服务器是一个巨大的 Library 仓库.Nexus 可以支持管理的工具包括 Maven , npm 等,对于 JAVA 开发来说 ...

  3. maven上传jar包到nexus私服后的存放路径 以及 使用IDEA上传jar包的步骤

    maven上传jar包到nexus私服的方法,网上大神详解很多,那么上传后的jar包存放到哪里了呢? 在下使用nexus3.2.1版本,在本地搭建了私服,使用maven上传jar包.最后结果如下: 点 ...

  4. eclipse 如何对maven项目进行打包?

      eclipse 如何对maven项目进行打包? CreateTime--2018年4月19日22:02:50 Author:Marydon 1.方式一:使用eclipse中的maven插件(命令) ...

  5. 基于node的前端项目代码包发布至nexus

    目录 目录... 3 1. 前言... 1 2. 配置... 1 2.1. 配置angular.json文件... 1 2.2. 配置package.json文件... 1 2.3. 复制git地址. ...

  6. 【IDEA】【2】创建Maven项目及部署发布

    正文: 1,我参考的文档1已经比较全面了,需要注意的是界面可能有点不一样,有些地方需要自己注意一下 2,project和model的概念:挺困扰人的,我目前没有多模块开发,开发多个项目的时候是开了多个 ...

  7. Maven deploy 部署 jar+pom 到 Nexus 私服

    经验之谈 工作中,我们常常需要将基础架构部门的 jar 包提供给业务部门的同事使用,那么,需要将 jar 包 deploy 到 nexus 私服上,网上资料不是很多,这里说一下具体细节. 首先,是打 ...

  8. 使用maven的插件进行maven项目的打包

    1 maven项目打包的插件有3种 maven-jar-plugin maven-assembly-plugin maven-shade-plugin 2 maven-jar-plugin 现在要新增 ...

  9. Spring boot项目的打包发布

    Eclipse打包发布项目 打包项目 首先需要将项目编译的文件删除,执行[Run As]->[Maven clean] 如果这个时候项目报错,在pom.xml文件中添加以下代码过滤掉单元测试 & ...

随机推荐

  1. 【React】react学习笔记03-React组件对象的三大属性-state

    今天晚上学习了React中state的使用,特做此记录,对于学习的方式,博主仍然推荐直接复制完整代码,对着注释观察现象!: 上文中,我列举了两种React自定义组件的声明,这里我拿方式二进行举例: / ...

  2. PHP输出缓冲及其应用

    缓冲(buffer)是为了协调吞吐速度相差很大的设备之间数据传送而采用的技术,用来存放缓冲数据的区域叫缓冲区,在计算机科学领域,当数据从一个地方传送到另一个地方时,缓冲区被用来临时存储数据.与缓冲相似 ...

  3. 给VS设置代码创建人的宏

    Sub AddFunComment() Dim DocSel As EnvDTE.TextSelection DocSel = DTE.ActiveDocument.Selection DocSel. ...

  4. 100天搞定机器学习|Day1数据预处理

    数据预处理是机器学习中最基础也最麻烦的一部分内容 在我们把精力扑倒各种算法的推导之前,最应该做的就是把数据预处理先搞定 在之后的每个算法实现和案例练手过程中,这一步都必不可少 同学们也不要嫌麻烦,动起 ...

  5. 并发编程-concurrent指南-阻塞队列-数组阻塞队列ArrayBlockingQueue

    ArrayBlockingQueue类是实现了BlockingQueue. ArrayBlockingQueue是一个有界的阻塞队列,其内部实现是将对象放在一个数组中. 放入元素方法: (1) add ...

  6. 蓝桥杯:最大的算式(爆搜 || DP)

    http://lx.lanqiao.cn/problem.page?gpid=T294 题意:中文题意. 思路:1.一开始想的是,乘号就相当于隔板,把隔板插入到序列当中,同一个隔板的就是使用加法运算, ...

  7. 把大象装进冰箱:HTTP传输大文件的方法

    上次我们谈到了HTTP报文里的div,知道了HTTP可以传输很多种类的数据,不仅是文本,也能传输图片,音频和视频.   早期互联网上传输的基本上都是只有几k大小的文本和小图片,现在的情况则大有不同.网 ...

  8. [HNOI2011]数学作业 题解

    这道题看着挺难然而其实看破了也挺容易的.首先N极其的大,几乎要炸掉long long ,所以O(n)的算法一定是扑街了,身为一个脑残志坚的OIer,怎能不想到矩阵快速幂优化呢? 有趣的是这道题矩阵有很 ...

  9. Java 新特性总结——简单实用

    lambda表达式 简介 lambda 表达式的语法 变量作用域 函数式接口 内置函数式接口 默认方法 Stream(流) 创建 stream Filter(过滤) Sorted(排序) Map(映射 ...

  10. CSDN怎么一键转载别人的博客

    在参考"如何快速转载CSDN中的博客"后,由于自己不懂html以及markdown相关知识,所以花了一些时间来弄明白怎么转载博客,以下为转载CSDN博客步骤和一些知识小笔记. 参考 ...