天翼云安装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>

 

posted @ 2021-12-24 22:02  正在战斗中  阅读(337)  评论(0编辑  收藏  举报