文档章节

Linux下使用nexus搭建maven仓库私服

宁宁爸
 宁宁爸
发布于 2015/09/17 11:25
字数 1029
阅读 772
收藏 19

有个maven私服可以很方便地管理我们的jar包和发布构建到远程仓库,本文就介绍了如何在linux下一步步使用nexus搭建maven私服

原文链接:

    http://www.tuicool.com/articles/E7ZBv2


下载安装

最新nexus下载地址: http://www.sonatype.org/nexus/go

解压后会在同级目录中,出现两个文件夹: nexus-2.11.4-01 和sonatype-work ,前者包含了nexus的运行环境和应用程序,后者包含了你自己的配置和数据。

解压命令:unzip nexus-2.11.4-01-bundle.zip

启动nexus

# cd nexus-2.11.4-01/bin/
# ls
jsw  nexus  nexus.bat
# ./nexus
Usage: ./nexus { console | start | stop | restart | status | dump }
# ./nexus start
****************************************
WARNING - NOT RECOMMENDED TO RUN AS ROOT
****************************************
Starting Nexus OSS...
Started Nexus OSS.


查看控制台:

# ./nexus console
****************************************
WARNING - NOT RECOMMENDED TO RUN AS ROOT
****************************************
Running Nexus OSS...
wrapper  | --> Wrapper Started as Console
wrapper  | Launching a JVM...
wrapper  | JVM exited while loading the application.
jvm 1    | wrapper  | Unable to start JVM: No such file or directory (2)
wrapper  | Reloading Wrapper configuration...
wrapper  | Launching a JVM...
wrapper  | JVM exited while loading the application.
jvm 2    | wrapper  | Unable to start JVM: No such file or directory (2)
wrapper  | Reloading Wrapper configuration...
wrapper  | Launching a JVM...
wrapper  | JVM exited while loading the application.
jvm 3    | wrapper  | Unable to start JVM: No such file or directory (2)
wrapper  | Reloading Wrapper configuration...
wrapper  | Launching a JVM...
wrapper  | JVM exited while loading the application.
jvm 4    | wrapper  | Unable to start JVM: No such file or directory (2)
wrapper  | Reloading Wrapper configuration...
wrapper  | Launching a JVM...
wrapper  | JVM exited while loading the application.
jvm 5    | wrapper  | Unable to start JVM: No such file or directory (2)
wrapper  | There were 5 failed launches in a row, each lasting less than 300 seconds.  Giving up.
wrapper  |   There may be a configuration problem: please check the logs.
wrapper  | <-- Wrapper Stopped

启动失败,原因:未安装JDK

安装JDK后,查看控制台:

# ./nexus console
****************************************
WARNING - NOT RECOMMENDED TO RUN AS ROOT
****************************************
Running Nexus OSS...
Nexus OSS is already running.


控制台显示启动成功。

查看nexus日志:

# cd ../logs/
# ls -l
total 48
-rw-r--r-- 1 root root 43311 2015-09-16 19:46 wrapper.log
# tail -f wrapper.log


配置nexus

访问网址: http://yourhostname:8081/nexus


右上角以admin登陆,默认用户名/密码:admin/admin123。

3rd party、Snapshots、Releases这三个,分别用来保存第三方jar、项目组内部的快照、项目组内部的发布版.

手动添加第三方jar

将第三方的jar上传到nexus上面:

点击Upload Artifact(s)按钮提交后即上传。

查看上传的jar包如下:

在项目中使用私服的jar包配置pom.xml如下:

<project 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/maven-v4_0_0.xsd">  <modelVersion>4.0.0</modelVersion>  <groupId>com.vclk.mkt.crawler</groupId>  <artifactId>MarketingCrawler</artifactId>  <packaging>jar</packaging>  <version>0.3</version>  <name>MarketingCrawler</name>  <url>http://maven.apache.org</url>  <!-- 仓库地址 -->  <repositories>      <repository>          <id>nexus</id>          <name>Team Nexus Repository</name>          <url>http://yourhostname:8081/nexus/content/groups/public</url>      </repository>  </repositories>    <!-- 插件地址 -->  <pluginRepositories>      <pluginRepository>          <id>nexus</id>          <name>Team Nexus Repository</name>          <url>http://yourhostname:8081/nexus/content/groups/public</url>      </pluginRepository>  </pluginRepositories>  <!-- jar -->  <dependencies>      <dependency>          <groupId>de.innosystec</groupId>          <artifactId>java-unrar</artifactId>          <version>0.5</version>      </dependency>  </dependencies></project>

Maven在项目根目录下执行mvn eclipse:eclipse命令时,所依赖的jar包都会从私服中下载到本地并关联上项目,私服中没有就会从网络上下载到私服,本地再从私服下载。

自动发布构件到远程仓库

在工程的pom.xml中添加:

<distributionManagement>  <repository>      <id>nexus-releases</id>      <url>http://yourhostname:8081/nexus/content/repositories/releases/</url>  </repository>  <snapshotRepository>      <id>nexus-snapshots</id>      <url>http://yourhostname:8081/nexus/content/repositories/snapshots/</url>  </snapshotRepository></distributionManagement>


进入maven的安装目录apache-maven-3.1.1\conf目录下,向settings.xml配置文件中的 语句块中添加如下所示:

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


进入windows命令行,在工程所在目录下执行

mvn deploy

所部署的包就自动上传到了nexus安装目录下的 /maven/nexus/sonatype-work/nexus/storage/releases/com/vclk/mkt/crawler/MarketingCrawler/0.3 目录

nexus仓库中各目录介绍

项目中的各种jar包和项目快照等都放在 /nexus/sonatype-work/nexus/storage/ 目录下,在这个目录下包括以下各种目录和存放相应文件。

/nexus/sonatype-work/nexus/storage/central - 用于放置maven从中央仓库中下载下来的项目pom.xml中配置到的相关jar包;

/nexus/sonatype-work/nexus/storage/thirdparty - 用于放置自己手动上传的第三方jar包;

/nexus/sonatype-work/nexus/storage/releases - 用于放置项目deploy后的发布版。


本文转载自:http://www.tuicool.com/articles/E7ZBv2

宁宁爸
粉丝 82
博文 58
码字总数 26478
作品 0
高级程序员
私信 提问
Maven and Nexus2

Maven and Nexus2 Maven是什么? 构建工具: 通过简单的命令,能够完成清理、编译、测试、打包、部署等一系列过程。同时,不得不提的是,Maven是跨平台的,无论是在Windows、还是在Linux或M...

阿dai
2018/10/16
0
0
Linux 下使用 Nexus

为什么要搭建私服? 在开发过程中,有时候会使用到公司内部的一些开发包,显然把这些包放在外部是不合适的。另外,由于项目一直在开发中,这些内部的依赖可能也在不断的更新。可以通过搭建公...

devin223
2017/06/05
0
0
Linux 使用nexus搭建maven私服

环境要求 系统:LINUX JDK:已安装 Maven:已安装(未安装详见maven安装教程) Nexus: 所有版本下载地址:https://www.sonatype.com/download-oss-sonatype Nexus是一个强大的Maven仓库管理...

muzi1994
2017/02/28
0
0
Linux搭建Maven私服Nexus3.x环境

一、Maven介绍 Apache Maven是一个创新的软件项目管理和综合工具。 Maven提供了一个基于项目对象模型(POM)文件的新概念来管理项目的构建,可以从一个中心资料片管理项目构建,报告和文件。...

898009427
2018/08/06
0
0
搭建Maven私服(使用Nexus)

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

xiaomin0322
2018/09/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

再一次生产 CPU 高负载排查实践

前言 前几日早上打开邮箱收到一封监控报警邮件:某某 ip 服务器 CPU 负载较高,请研发尽快排查解决,发送时间正好是凌晨。 其实早在去年我也处理过类似的问题,并记录下来:《一次生产 CPU ...

crossoverJie
17分钟前
1
0
Java的线程同步和并发问题示例

并发问题 多线程是一个非常强大的工具,它使我们能够更好地利用系统的资源,但我们需要在读取和写入多个线程共享的数据时特别小心。 当多个线程尝试同时读取和写入共享数据时,会出现两种类型...

hiuh
今天
4
0
Spring Boot 常用注解说明

实体类 @Entity (实体类注解) @Table(可指定表名) @Data(可缺省get/set) @Id (指定属性主键) @GeneratedValue(指定主键生成规则)

兜兜毛毛
今天
3
0
局域网能互相ping通,ubuntu虚拟机不能上外网

【问题】 桥接模式老是无法上网,查看本机IP发现被分配了一个私网地址,猜测应该是虚拟DHCP服务器没有打开,于是查看Ubuntu的网络配置: /etc/network/interfaces 发现没有dhcp配置的信息,只...

tahiti_aa
今天
2
0
以太坊助记词PHP开发包简介

以太坊助记词PHP开发包用来为PHP以太坊应用增加助记词和层级确定密钥支持能力。下载地址:以太坊助记词php开发包 。 1、开发包概述 以太坊助记词PHP开发包主要包括以下特性: 生成符合BIP39...

汇智网教程
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部