如何用maven创建nexus私服并将包打包发布到私服

原创 2016年08月29日 23:18:52

下载好nexus后输入:localhost:8081/nexus 进入nexus的管理界面,默认用户名:admin 密码:admin123


下载地址:http://www.sonatype.org/nexus/archived/


登录后进入管理界面




将此处设为true保存后就可以在如下的位置看到包的信息(刚设置好刷新并不会有架包显示出来,等配好私服下次maven从

私服下载时,私服会从远程仓库下载过来)






下面简单介绍下仓库的种类

一般用到的仓库种类是hosted、proxy。Hosted代表宿主仓库,用来发布一些第三方不允许的组件,比如oracle驱动、比如商业软件jar包。Proxy代表代理远程的仓库,最典型的就是Maven官方中央仓库、JBoss仓库等等。如果构建的Maven项目本地仓库没有依赖包,那么就会去这个代理站点去下载,那么如果代理站点也没有此依赖包,就回去远程中央仓库下载依赖,这些中央仓库就是proxy。代理站点下载成功后再下载至本机。笔者认为,其实Maven这个自带的默认仓库一般情况下已经够大多数项目使用了。特殊情况时在配置新的仓库,指定url即可,一般熟悉ExtJS的人操作这个Nexus都没什么问题,单词不是很难,不明白的查查单词基本差不多。就是如果Sonatype公司对其做了国际化的处理就更好了。

hosted   类型的仓库,内部项目的发布仓库
releases 内部的模块中release模块的发布仓库
snapshots 发布内部的SNAPSHOT模块的仓库

3rd party 第三方依赖的仓库,这个数据通常是由内部人员自行下载之后发布上去

proxy   类型的仓库,从远程中央仓库中寻找数据的仓库

group   类型的仓库,组仓库用来方便我们开发人员进行设置的仓库



maven上传架包到私服的两种方式


1.手动上传




这样jar包就传到了私服上


2.通过maven上传


首先就是配置setting.xml将下载路径指向私服


setting.xml配置如下:


此处配置便于之后直接的打包发布


     <server>    
      <id>my-nexus-releases</id>    
      <username>admin</username>    
      <password>admin123</password>    
    </server>    
    <server>    
      <id>my-nexus-snapshot</id>    
      <username>admin</username>    
      <password>admin123</password>    
    </server>
  </servers>


镜像配置,连接本地的私服


  <mirrors>
    <mirror>       
     <id>nexus</id>        
     <url>http://127.0.0.1:8081/nexus/content/groups/public/</url>       
     <mirrorOf>*</mirrorOf>       
   </mirror> 
  </mirrors>


文件配置


<profiles>    
    <profile>    
      <id>nexus</id>    
      <repositories>    
            <repository>    
                <id>central</id>                                       
                <url>http://central</url>                          
                <releases>    
                    <enabled>true</enabled>    
		    <updatePolicy>always</updatePolicy>
                </releases>    
                <snapshots>    
                    <enabled>true</enabled>
		    <updatePolicy>always</updatePolicy>					
                </snapshots>    
            </repository>    
        </repositories>       
         <pluginRepositories>    
            <pluginRepository>    
              <id>central</id>    
              <url>http://central</url>    
              <releases>    
                <enabled>true</enabled>
		<updatePolicy>always</updatePolicy>
              </releases>    
              <snapshots>    
                <enabled>true</enabled>
		<updatePolicy>always</updatePolicy>				
              </snapshots>    
            </pluginRepository>    
        </pluginRepositories>    
    </profile>    
</profiles>  


激活文件


  <activeProfiles>
    <activeProfile>nexus</activeProfile>
  </activeProfiles>


配置好之后,maven就会向本地的私服下载jar包了


接下来讲一下如何如何通过maven打包发布到私服


pom.xml配置


<repositories>       
    <repository>       
      <id>nexus</id>       
      <name>my-nexus-repository</name>       
      <url>http://127.0.0.1:8081/nexus/content/groups/public/</url>       
      <releases>       
        <enabled>true</enabled>       
      </releases>       
      <snapshots>       
        <enabled>false</enabled>       
      </snapshots>       
    </repository>       
  </repositories>       
  <pluginRepositories>       
    <pluginRepository>       
      <id>nexus</id>       
      <name>my-nexus-repository</name>       
      <url>http://127.0.0.1:8081/nexus/content/groups/public/</url>       
      <releases>       
        <enabled>true</enabled>       
      </releases>       
      <snapshots>       
        <enabled>false</enabled>       
      </snapshots>            
    </pluginRepository>       
  </pluginRepositories>
  
  <distributionManagement>    
       <repository>    
           <id>my-nexus-releases</id>    
           <url>http://127.0.0.1:8081/nexus/content/repositories/releases/</url>    
       </repository>    
           
       <snapshotRepository>    
           <id>my-nexus-snapshot</id>    
           <url>http://127.0.0.1:8081/nexus/content/repositories/snapshots/</url>    
       </snapshotRepository>    
  </distributionManagement>


maven打包的一些插件


<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>2.3.2</version>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
					<encoding>UTF-8</encoding>
					<compilerArguments>
						<verbose />
						<bootclasspath>${JAVA_HOME}/jre/lib/rt.jar;${JAVA_HOME}/jre/lib/jce.jar</bootclasspath>
					</compilerArguments>
				</configuration>
			</plugin>
			<plugin>
				<!-- 发布插件 -->
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-deploy-plugin</artifactId>
				<version>2.5</version>
			</plugin>
			<plugin>
				<!-- 打包插件 -->
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<version>2.3.1</version>
			</plugin>
			<plugin>
				<!-- 安装插件 -->
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-install-plugin</artifactId>
				<version>2.3.1</version>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
				<version>2.1.1</version>
				<configuration>
					<failOnMissingWebXml>false</failOnMissingWebXml>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<version>2.4.3</version>
			</plugin>
			<plugin>
				<!-- 单元测试插件 -->
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.18.1</version>
				<configuration>
					<skipTests>true</skipTests>
				</configuration>
			</plugin>
		</plugins>
	</build>


这里特别要注意JAVA_HOME的路径和此处对应,否则打包时会报错


<bootclasspath>${JAVA_HOME}/jre/lib/rt.jar;${JAVA_HOME}/jre/lib/jce.jar</bootclasspath>


配置完成后,运行一下命令就行了

mvn clean package 打包项目,会在target下生成jar包

mvn install 将包上传到本地的仓库中

mvn deploy 将包部署发布到私服





版权声明:本文为博主原创文章,未经博主允许不得转载。

Maven私服Nexus详解

maven的仓库只有两大类:1.本地仓库 2.远程仓库,在远程仓库中又分成了3种:2.1 中央仓库 2.2 私服 2.3 其它公共库。    私服是一种特殊的远程仓库,它是架设在局域网内的仓库服务,...
  • u013516966
  • u013516966
  • 2015年02月12日 01:31
  • 3288

搭建Maven私服(使用Nexus)

搭建私服可以做什么? 1、如果公司开发组的开发环境全部内网,这时如何连接到在互联网上的Maven中央仓库呢? 2、如果公司经常开发一些公共的组件,如何共享给各个开发组,使用拷贝方式吗?如果这样,公...
  • catoop
  • catoop
  • 2016年03月02日 14:52
  • 10215

Maven打包自动发布到nexus私服

通过命令 -f 指定的pom文件 deploy 打包发布 Intellij Idea中可以通过Run-EditConfigurations-"+"号-Maven新建一个自定义maven脚本,将刚才的发...
  • gui66497
  • gui66497
  • 2016年08月24日 11:04
  • 1814

windows下使用nexus搭建maven私服

一.安装nexus 1.下载nexus,解压.我下的是nexus-2.13.0-01,到nexus-2.13.0-01\bin\jsw这个目录下,会发现有很多系统版本的nexus环境.我的电脑是win...
  • licheng989
  • licheng989
  • 2016年07月19日 22:23
  • 1470

Maven私服搭建(nexus)

1关于中央仓库注意事项(了解) l 地址: 目前来说: http://repo1.maven.org/maven2/是真正的Maven中央仓库的地址,该地址内置在Maven的源码中其他的都是镜像 ...
  • weixin_40592663
  • weixin_40592663
  • 2017年12月01日 20:31
  • 241

ubuntu系统上,用nexus搭建maven私服

ubuntu系统上,用nexus搭建maven私服 1.选择下载版本,地址 https://www.sonatype.com/download-oss-sonatype Nexus提供了...
  • u010079153
  • u010079153
  • 2016年10月09日 14:55
  • 366

如何搭建nexus私服,及其使用

一、安装 1、下载最新的nexus安装包 下载地址:http://www.sonatype.org/nexus/go 2、运行nexus.bat 安装nexus服务。 3、启动该服务。 4、...
  • zhangshuang19881122
  • zhangshuang19881122
  • 2012年12月31日 15:39
  • 3334

eclipse maven 发布项目到私服 包含源文件

项目中pom配置               Releases   http://10.4.1.206:8888/nexus/content/repositories/releases ...
  • HDF734839030
  • HDF734839030
  • 2016年08月11日 16:28
  • 2784

Maven仓库——私服介绍

私服是什么?私服,即私有服务器,是公司内部Maven项目需要通过其下载依赖包和插件的一个内部maven仓库。Nexus是常用的私用Maven服务器,一般是公司内部使用。常用功能和介绍 将自己的Ma...
  • catoop
  • catoop
  • 2017年03月16日 00:33
  • 1361

本地安装nexus私服步骤以及配置到本地maven插件中

解压nexus的相关压缩文件: nexus-2.12.0-01-bundle.zip 进入软件文件的conf文件夹下的nexus.properties: 软件端口是8081,访...
  • qq_41168628
  • qq_41168628
  • 2017年11月24日 23:05
  • 182
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何用maven创建nexus私服并将包打包发布到私服
举报原因:
原因补充:

(最多只允许输入30个字)