Nexus 安装与使用

本文介绍了如何安装和使用Nexus作为Maven Repository Manager。遇到无法访问页面或JVM启动失败的问题,可能需要确保以root用户启动并安装JDK 1.7。Nexus提供了proxy、hosted和virtual三种类型的repository,手动上传artifact需设置Deployment Policy为Allow Redeploy,并在Maven settings.xml或pom.xml中配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Nexus 是目前比较流行的Maven Repository Manager 工具。当然还有Artifactory 也是不错的选择。二者各有千秋,选择哪个全凭个人喜好。

我选择了Nexus。 http://www.sonatype.org/nexus/

网上有好多安装帮助文档,这里不再重复。

安装环境:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.04.3 LTS
Release:        12.04
Codename:       precise
# Nexus 2.6.4-02 must be run under JDK 1.7  and  root
sudo su -
vi /etc/profile
# Set JAVA_HOME CLASSPATH and PATH
export JAVA_HOME=/usr/java/jdk1.7.0_45
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
 
# 最好把JAVA_HOME 也存在enviroment 里
vi /etc/environment
JAVA_HOME=/usr/java/jdk1.7.0_45
下载nexus-2.6.4-02-bundle.tar.gz ,并解压:

cd /usr/local/share
sudo tar -xvf nexus-2.6.4-02-bundle.tar.gz

cd nexus-2.6.4-02/bin
# set RUN_AS_USER with root
vi nexus
RUN_AS_USER=root

# Start Nexus and wait for a moment to finish initialization
./nexus start

http://localhost:8081/nexus

Login with: admin/admin123

如果Nexus 页面不能访问并且在log 里看到以下的异常,就要确保用root 账户启动并且JDK 1.7 已经安装好了。我试过用sudo 启动不好使。

/usr/local/nexus-2.6.4-02/logs/wrapper.log:
wrapper  | Launching a JVM...
wrapper  | Unable to start JVM: No such file or directory (2)
wrapper  | JVM exited while loading the application.
wrapper  | Reloading Wrapper configuration...
或者
wrapper  | --> Wrapper Started as Daemon
wrapper  | 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.0
jvm 1    |      at java.lang.ClassLoader.defineClass1(Native Method)
jvm 1    |      at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
jvm 1    |      at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
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:306)
jvm 1    |      at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
jvm 1    |      at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
jvm 1    | Could not find the main class: org.sonatype.nexus.bootstrap.jsw.JswLauncher.  Program will exit.


Nexus 有3种repository : proxy, hosted and virtual.

不过只能往hosted repository 中手动上传artifact. 同时还要设置Deployment Policy 为: Allow Redeploy。

可以在“Artifact Upload” 中操作要上传的Jar:

NexusUploadArtifact

之后就是修改Maven 里的settings.xml  或者是Project 里的pom.xml 使用上面的repository.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值