linux搭建NEXUS服务,Linux下使用Nexus搭建Maven私服详解

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

下载安装

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

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

$mkdir nexus$tar xzvf /home/jili/nexus-2.7.0-05-bundle.tar.gz$lsnexus-2.7.0-05 sonatype-work

启动nexus

$cdbin/$lsjsw nexus nexus.bat$./nexusUsage: ./nexus { console | start | stop | restart | status | dump }$./nexus startStarting Nexus OSS...Started Nexus OSS.

查看控制台:

$./nexus console

显示未启动成功,报错如下:

$./nexus consoleRunning Nexus OSS...wrapper | --> Wrapper Started as Consolewrapper | Launching a JVM...wrapper | JVM exited while loading the application.jvm 1 | Exception in thread "main" Java.lang.UnsupportedClassVersionError: org/sonatype/nexus/bootstrap/jsw/JswLauncher : Unsupported major.minor version 51.0jvm 1 | at java.lang.ClassLoader.defineClass1(Native Method)jvm 1 | at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)jvm 1 | at java.lang.ClassLoader.defineClass(ClassLoader.java:616)jvm 1 | at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)jvm 1 | at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)jvm 1 | at java.net.URLClassLoader.access$000(URLClassLoader.java:58)jvm 1 | at java.net.URLClassLoader$1.run(URLClassLoader.java:197)jvm 1 | at java.security.AccessController.doPrivileged(Native Method)jvm 1 | at java.net.URLClassLoader.findClass(URLClassLoader.java:190)jvm 1 | at java.lang.ClassLoader.loadClass(ClassLoader.java:307)jvm 1 | at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)jvm 1 | at java.lang.ClassLoader.loadClass(ClassLoader.java:248)jvm 1 | Could not find the main class: org.sonatype.nexus.bootstrap.jsw.JswLauncher. Program will exit.wrapper | Reloading Wrapper configuration...wrapper | Launching a JVM...wrapper | JVM exited while loading the application....jvm 5 | Exception in thread "main" java.lang.UnsupportedClassVersionError: org/sonatype/nexus/bootstrap/jsw/JswLauncher : Unsupported major.minor version 51.0jvm 5 | at java.lang.ClassLoader.defineClass1(Native Method)jvm 5 | at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)jvm 5 | at java.lang.ClassLoader.defineClass(ClassLoader.java:616)jvm 5 | at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)jvm 5 | at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)jvm 5 | at java.net.URLClassLoader.access$000(URLClassLoader.java:58)jvm 5 | at java.net.URLClassLoader$1.run(URLClassLoader.java:197)jvm 5 | at java.security.AccessController.doPrivileged(Native Method)jvm 5 | at java.net.URLClassLoader.findClass(URLClassLoader.java:190)jvm 5 | at java.lang.ClassLoader.loadClass(ClassLoader.java:307)jvm 5 | at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)jvm 5 | at java.lang.ClassLoader.loadClass(ClassLoader.java:248)jvm 5 | Could not find the main class: org.sonatype.nexus.bootstrap.jsw.JswLauncher. Program will exit.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 |

原因:查找原因是JDK版本��低造成的,升级到最新的JDK7或者使用nexus-2.4-bundle.tar.gz版本JDK6会支持.

Nexus所有版本下载地址:http://www.sonatype.org/nexus/archived

下载Nexus2.4重来

$lsnexus-2.4.0-09 sonatype-work$cdnexus-2.4.0-09/bin/$lsjsw nexus nexus.bat$./nexusUsage: ./nexus { console | start | stop | restart | status | dump }$./nexus startStarting Nexus OSS...Started Nexus OSS.$./nexus consoleRunning Nexus OSS...Nexus OSS is already running.

控制台显示启动成功。

查看nexus日志:

$cdnexus-2.4.0-09/logs$lswrapper.log$tail -f wrapper.log

配置nexus

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

a681218e47e2fc1c9ce5493e19c3f681.png

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

b629187d789bbbfe2a69a802b980963b.png

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

手动添加第三方jar

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

74f4fc5dfbebac0468a19f7b62e06a10.png

ba7f3efb858d2ef32e29883a91c5c037.png

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

查看上传的jar包如下:

9b53bede21de2beb5e95937b581700c3.png

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

4.0.0com.vclk.mkt.crawlerMarketingCrawlerjar0.3MarketingCrawlerhttp://maven.apache.orgnexusTeam Nexus Repositoryhttp://yourhostname:8081/nexus/content/groups/publicnexusTeam Nexus Repositoryhttp://yourhostname:8081/nexus/content/groups/publicde.innosystecjava-unrar0.5

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

ad1427866ff8daf3182091d29cd102c1.png

自动发布构件到远程仓库

在工程的pom.xml中添加:

nexus-releaseshttp://yourhostname:8081/nexus/content/repositories/releases/nexus-snapshotshttp://yourhostname:8081/nexus/content/repositories/snapshots/

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

nexus-releasesadminadmin123nexus-snapshotsadminadmin123

进入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后的发布版。

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值