Nexus 安装与使用

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:

Nexus 安装与使用_第1张图片

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

你可能感兴趣的:(Tools)