天翼云安装nexus3.37.1
有点操蛋,官网网络太慢了!
百度了不少网友的内容,综合如下
总体是个皮毛,但已经可以用于开发了!
一、下载和安装
https://download.sonatype.com/nexus/3/nexus-3.37.1-01-unix.tar.gz
太慢了,只好上迅雷。
后缀有点与众不同,使用unix
上传到服务器,解压....
如果不想改配置,那么修改下/root/.bash_profile,添加下路径
之后nexus start即可。
注:nexus不建议使用root运行
这个版本的nexus,功能极其强大,maven库仅仅是其中一种,还支持常见的yum,npm,docker,apt
二、配置
配置文件基本都在bin目录下,
例如 /myapp/nexus/bin,/myapp/nexus/etc
bin这里包含:nexus,nexus.rc,nexus.vmoptions
etc包含 nexus-default.properties,jetty之类的
一般情况下,我们都会修改,例如:
1.端口(nexus-default.properties)
修改 application-port=9835
2.jdk和使用内存
nexus 修改jdk路径
INSTALL4J_JAVA_HOME="/soft/jdk1.8.0_261"
nexus.vmoptions,修改jvm
-Xms512m
-Xmx512m
-XX:MaxDirectMemorySize=2703m
-XX:+UnlockDiagnosticVMOptions
-XX:+LogVMOutput
...
其余略
如果不用于代理之类的,一个小的团队或者小公司,那么配置个512m内存还是够用的1
3.其它
nexus.rc 修改运行用户
run_as_user="root"
三、启动
nexus start
启动成功,会提示不建议用root运行。
nexus 的可选命令:
[root@lzf-ty ~]# nexus --help
WARNING: ************************************************************
WARNING: Detected execution as "root" user. This is NOT recommended!
WARNING: ************************************************************
Usage: /soft/nexus/nexus-3.37.1-01/bin/nexus {start|stop|run|run-redirect|status|restart|force-reload}
四、应用
1.登录web管理端
在浏览器输入http://ip:port(此处设置的是9835),
之后点击”sign in“会提出我们输入密码(输入框会提示密码,密码保存在nexus的根的同级目录下/sonatype-work/nexus3/admin.password),成功后,进入下图:
之后,/sonatype-work/nexus3/admin.password被删除掉。
注:这个版本会提示是否允许匿名访问,一般情况下,公司和个人仓库不要那么做。我选择的是授权访问。
2.创建用户
这个比较简单,创建了一个hcdev,设置一个不算简单的密码,并授予nx-admin角色(理论上不需要那么大,可以 给一个很小的)
注意:用户和密码是最传统的方式,也是最简单的认证方式。nexus也提供了ldap,realms,ssl
3.创建hosted仓库(中央仓库)
注意勾选"maven2" "hosted","allow redeploy"(保证可以把本地编译结果上传中央库)
记住以下几个信息:
这个要用于填写后面的一个setting.xml
4.在配置开发环境的maven setting.xml(默认)
eclise或者idea中使用的是本地安装的maven)
在cmd下,使用以下命令确认有效的maven配置
mvn help:effective-settings
不要改错setting.xml
在setting.xml中输入如下:
id=前面提到的库的名称 lzf-ty-snashot
username,password则是对应的用户。
使用mvn help:effective-settings确认配置,可以发现已经展示出来,不过密码是贴心地展示为***
5.设定pom项目
<distributionManagement>
<repository>
<id>lzf-ty-snapshot</id>
<name>lzf's maven</name>
<url>http://180.102.19.91:9835/repository/lzf-ty-snapshot/</url>
</repository>
</distributionManagement>
这个id就是setting.xml中设置的id,也就是nexus中仓库的name.url就是仓库的url
6.mvn deploy测试
可以在命令行下执行mvn depoly,也可以使用ide集成的maven工具,本质一样。下图是cmd下的mvn deploy
7.查看结果,确认仓库有效性
8.使用仓库作为源
nexus能存,也要能够取(这是主要目的)。
以下介绍如何在pom中拉取上传的jar
<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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.lzf</groupId> <artifactId>use-tools</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>use-tools</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.lzf</groupId> <artifactId>tools</artifactId> <version>0.0.1-SNAPSHOT</version> <scope>compile</scope> </dependency> </dependencies> <repositories> <repository> <id>lzf-ty-snapshot</id> <name>lzf's maven</name> <url>http://180.102.19.91:9835/repository/lzf-ty-snapshot/</url> <layout>default</layout> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> </project>