配置Nexus Repository

  1. 打开WEB管理界面:http://localhost:8081/nexus/index.html
  2. 点击右上角Log In进行登录,默认帐号:admin、密码:admin123
  3. 点击左侧Repositories项 -> central仓库 -> Configuration -> Download Remote Indexes=True -> Save,表示下载远程仓库的索引。
  4. 右键central仓库 -> Update Index,更新远程仓库索引到本地,这一步能够加速本地索引。

说明:

  • 新搭建的neuxs环境只是一个空的仓库, 需要手动和远程中心库进行同步,nexus默认是关闭远程索引下载,最重要的一件事情就是开启远程索引下载。 找到右边仓库列表中的三个仓库Apache Snapshots,Codehaus Snapshots和Maven Central,然后再没有仓库的configuration下把Download Remote Indexes修改为true。然后在这三个仓库上分别右键,选择Repari Index,这样Nexus就会去下载远程的索引文件。右键仓库 -> Update Index,更新远程仓库索引到本地,这一步能够加速本地索引
  • 新建公司的内部仓库,步骤为 Repositories –> Add –> Hosted Repository,在页面的下半部分输入框中填入Repository ID和Repository Name即可,另外把Deployment Policy设置为Allow Redeploy
  • Nexus中仓库组的概念是Maven没有 的,在Maven看来,不管你是hosted也好,proxy也好,或者group也好,对我都是一样的,我只管根据 groupId,artifactId,version等信息向你要构件。为了方便Maven的配置,Nexus能够将多个仓库,hosted或者 proxy合并成一个group,这样,Maven只需要依赖于一个group,便能使用所有该group包含的仓库的内容。


在项目中配置Nexus Repository的信息

项目pom文件配置distributionManagement (这个可以从Repository的Summary里直接copy)

   <distributionManagement>
<repository>
<id>releases</id>
<name>Nexus Release Repository</name>
<url>http://localhost:8081/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>Nexus Snapshot Repository</name>
<url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>

settings.xml配置账号密码。注意server的id与repository的id必须对应

<servers>
<server>
<id>releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>

用户名密码明文写在文件里不好,可以用下面的办法:
step 1.先随意定义一个种子, windows下测试, settings-security.xml 这个文件必须放到.m2目录, 否则会提示找不到

localhost$ mvn --encrypt-master-password 123asdadfafdadf
{BHe/qKN8q30HBG3bAGbYLOVLnAqVRkzjb9/7yWs+Ks0=} vim ~/.m2/settings-security.xml <?xml version="1.0" encoding="UTF-8"?>
<settingsSecurity>
<master>{BHe/qKN8q30HBG3bAGbYLOVLnAqVRkzjb9/7yWs+Ks0=}</master>
</settingsSecurity>

step 2.最终生成

mvn --encrypt-password 你的密码
{RxLx1asdfiafrjIHfXZDadfwveda23avsdv=} vim ~/.m2/settings.xml <server>
<id>internal</id>
<username>54chen</username>
<password>{RxLx1asdfiafrjIHfXZDadfwveda23avsdv=}</password>
</server>

mvn的版本要在2.1.0以上才行。

发布到Nexus Repository

命令行形式, 执行

mvn deploy:deploy-file -Durl=http://192.168.0.4:8081/nexus/content/repositories/thirdparty -DrepositoryId=thirdparty -Dfile=jmxspi.jar -DgroupId=oracle.as -DartifactId=jmxspi -Dversion=1.0 -Dpackaging=jar -DgeneratePom=true  

在Eclipse里,

创建一个新的Maven Build,

Name随便起,Base directory使用项目的路径, 如 ${workspace_loc:some-project}, Gloals 填  deploy -Dmaven.test.skip=true 然后Run

如果需要强制更新maven repository, 后面加一个-U参数, 如

deploy -Dmaven.test.skip=true -U

阻止将模块发布到Nexus Repository

在开发中, 一些模块, 例如最后产生的服务器部署模块, 是不需要发布到Nexus Repository的, 这时候需要在模块的pom中加入以下build配置, 在对整个项目执行deploy的时候, 就不会将这个模块发布到Nexus Repository

<build>
<plugins>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>X.Y</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>

本地 Maven项目部署到Nexus Repository的更多相关文章

  1. maven项目部署到Repository(Nexus)

    目录[-] (一)下载并安装Nexus (二)配置Nexus Repository 说明: (三)在项目中配置Nexus Repository的信息 (四)发布到Nexus Repository 本文 ...

  2. eclipse中maven项目部署到tomcat

    其实maven项目部署到tomcat的方式很多,我从一开始的打war包到tomcat/webapps目录,到使用tomcat-maven插件,到直接使用servers部署,一路来走过很多弯路. 下面就 ...

  3. eclipse中maven项目部署到tomcat [转]

    其实maven项目部署到tomcat的方式很多,我从一开始的打war包到tomcat/webapps目录,到使用tomcat-maven插件,到直接使用servers部署,一路来走过很多弯路. 下面就 ...

  4. [转]maven项目部署到tomcat

    其实maven项目部署到tomcat的方式很多,我从一开始的打war包到tomcat/webapps目录,到使用tomcat-maven插件,到直接使用servers部署,一路来走过很多弯路. 下面就 ...

  5. Intellij Idea中如何debug本地maven项目

    方法一:使用maven中的jetty插件调试本地maven项目 1.打断点 2.右击"jetty:run",选择Debug运行 3.浏览器发送http请求,开始调试 方法二:利用远 ...

  6. 怎样将本地web项目部署到腾讯云服务器上?

    怎样将本地web项目部署到腾讯云服务器上? 1.本地计算机的工作: (1).用eclipse新建一个web项目,然后在webcontent下新建一个index.html,然后在本地部署到Tomcat服 ...

  7. 关于导入本地maven项目pom.xml出现missing artifact org....报错处理

    一.导入本地maven项目步骤:

  8. idea中如何debug本地maven项目

    方法一:使用maven中的jetty插件调试本地maven项目 1.打断点 2.右击“jetty:run”,选择Debug运行 3.浏览器发送http请求,开始调试 方法二:利用远程调试功能调试本地m ...

  9. maven项目部署到tomcat方法

    今天记录下,maven项目部署到服务器的过程 1.首先在ide中里将自己的maven项目打包 mvn clean install 2. 看是否需要修改war包的名字,如果要修改,就用命令 mv xxx ...

随机推荐

  1. Mark一下,Android ListView的上下间隙

    困扰很久的问题,怎么给ListView上下加padding,可以跟随滚动的那种 android:paddingTop="10dp" android:paddingBottom=&q ...

  2. iOS开发之Runtime使用

    runtime简介 RunTime简称运行时.OC就是运行时机制,也就是在运行时候的一些机制,其中最主要的是消息机制. 对于C语言,函数的调用在编译的时候会决定调用哪个函数. 对于OC的函数,属于动态 ...

  3. SQL速记

    集合操作       WITH a AS ( SELECT 1 id UNION SELECT 2 ), b AS ( SELECT 1 id UNION SELECT 3 ) SELECT * FR ...

  4. 使用 PHPMailer 发送邮件

    转载 http://blog.csdn.net/liruxing1715/article/details/7914974 PHPMailer 的官方网站:http://phpmailer.worxwa ...

  5. 基于分布式、服务化的maven项目文件规划

    引言 此文不是纯粹介绍maven概念,而是介绍一个具体的maven项目文件规划 这个规划可能适合于研发比较复杂的业务,这些业务有分布式和服务化的需要. 这个规划能够解决因为分布式和服务化要求而引起的项 ...

  6. 查看centos版本号

    --写在开始-- 玩Linux,不同的版本会有一些细微区别: so,经常需要查看服务器版本号: --正文-- 有以下命令可以查看linux服务器版本号: # lsb_release -a LSB Ve ...

  7. 【Windows 10 IoT - 1】Window 10系统安装(树莓派 Pi2)

    一.硬件准备 (1).树莓派Pi2 (2).8G 10速Micro SD卡 (3).LCD显示器(如果是VGA接口,需要加一个HDMI转VGA模块) (4).鼠标 (5).安装Windows 10的P ...

  8. Flume应用场景及架构原理

    Flume概念 Flume是一个分布式.可靠.和高可用的海量日志聚合的系统,支持在系统中定制各类数据发送方,用于收集数据:同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力. ...

  9. mac 安装 php nginx mysql

    mac下面安装php nginx mysql根linux下面差不多,建议大家使用brew管理工具包安装. 1,安装homebrew http://brew.sh/index_zh-cn.html 安装 ...

  10. 用struts2获取session、request、parmeter的方法

    package com.hanqi.action; import java.util.Map; import com.opensymphony.xwork2.ActionContext; public ...