这里选择安装的是windows平台,linux安装类似,下载可能要梯子
官网下载页
https://help.sonatype.com/repomanager2/download
下载链接
https://download.sonatype.com/nexus/oss/nexus-latest-bundle.zip
这里下载2.X的最新版本 捆绑包,内置jetty容器,可作为独立服务运行,jdk 要求1.8
(个人觉得 2.x版本更好用)
下载解压后,可以看到两个目录
安装: (这里以本机安装作为示例)
管理员身份进入解压后的bin目录下,执行 nexus 命令可以看到 提示命令
执行 nexus install ,等待安装完成
执行 nexus start 启动 nexus
访问 http://127.0.0.1:8081/nexus ,看到该页面即表示正常启动
右上角点击登录 admin/admin123 (初始默认账号密码)
(名字自定义),作为稳定版和快照版私有仓库
两个仓库type都是 hosted 类型
my-maven-release
创建 my-maven-snapshot ,把 Repository Policy 改为Snapshot
至此,仓库已经创建完毕
nexus中所有仓库的实际位置都存储在
nexus-2.14.19-01-bundle\sonatype-work\nexus\storage 目录下
打开一个maven项目
在pom.xml添加以下内容
<repository>
<id>my-maven-releases</id>
<url>http://127.0.0.1:8081/nexus/content/repositories/my-maven-releases</url>
</repository>
<snapshotRepository>
<id>my-maven-snapshot</id>
<url>http://127.0.0.1:8081/nexus/content/repositories/my-maven-snapshot</url>
</snapshotRepository>
内容来源于刚才创建的仓库
maven的setting.xml中配置 server,因为访问仓库需要账号密码
<id>my-maven-releases</id>
<username>admin</username>
<password>admin123</password>
<id>my-maven-snapshot</id>
<username>admin</username>
<password>admin123</password>
maven项目下执行 mvn deploy
或者使用IDE 的maven插件执行clean deploy
deploy成功之后可以看到nexus远程仓库有了相关的jar包信息,本地maven仓库 org.example 文件夹下也会出现相关jar包
配置完成后,选择文件,点击 Add Artifact , 最后点击上传
或者点击 User ,选中右键
打开 conf 文件夹下的 nexus.properties 文件
将右边配置的仓库移动到左边并保存 ,就可以在公共库下看到之前deploy的项目的相关信息
这边也可以添加aliyun代理仓库并把它移动到公共库下,
这样个人的setting.xml 阿里云 镜像配置都可以省略了
但是如果不是公司网络,就会下不了依赖,个人可去可不去
servers部分 (这边如果不需要上传项目到私有仓库,可以不需要配置)
</servers>
<server>
<id>my-maven-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>my-maven-snapshot</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
Mirrors部分 用aliyun的maven仓库,可以不用变
私有仓库配置部分
记得激活配置
<activeProfiles>
<activeProfile>my-maven</activeProfile>
</activeProfiles>
完整的配置如下:
<!-- Another sample, using keys to authenticate.
<server>
<id>siteServer</id>
<privateKey>/path/to/private/key</privateKey>
<passphrase>optional; leave empty if not used.</passphrase>
</server>
-->
<server>
<id>my-maven-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>my-maven-snapshot</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<!-- profile
| Specifies a set of introductions to the build process, to be activated using one or more of the
| mechanisms described above. For inheritance purposes, and to activate profiles via <activatedProfiles/>
| or the command line, profiles have to have an ID that is unique.
|
| An encouraged best practice for profile identification is to use a consistent naming convention
| for profiles, such as 'env-dev', 'env-test', 'env-production', 'user-jdcasey', 'user-brett', etc.
| This will make it more intuitive to understand what the set of introduced profiles is attempting
| to accomplish, particularly when you only have a list of profile id's for debug.
|
| This profile example uses the JDK version to trigger activation, and provides a JDK-specific repo.
<profile>
<id>jdk-1.4</id>
<activation>
<jdk>1.4</jdk>
</activation>
<repositories>
<repository>
<id>jdk14</id>
<name>Repository for JDK 1.4 builds</name>
<url>http://www.myhost.com/maven/jdk14</url>
<layout>default</layout>
<snapshotPolicy>always</snapshotPolicy>
</repository>
</repositories>
</profile>
-->
<!--
| Here is another profile, activated by the system property 'target-env' with a value of 'dev',
| which provides a specific path to the Tomcat instance. To use this, your plugin configuration
| might hypothetically look like:
|
| ...
| <plugin>
| <groupId>org.myco.myplugins</groupId>
| <artifactId>myplugin</artifactId>
|
| <configuration>
| <tomcatLocation>${tomcatPath}</tomcatLocation>
| </configuration>
| </plugin>
| ...
|
| NOTE: If you just wanted to inject this configuration whenever someone set 'target-env' to
| anything, you could just leave off the <value/> inside the activation-property.
|
<profile>
<id>env-dev</id>
<activation>
<property>
<name>target-env</name>
<value>dev</value>
</property>
</activation>
<properties>
<tomcatPath>/path/to/tomcat/instance</tomcatPath>
</properties>
</profile>
-->
<profile>
<id>my-maven</id>
<repositories>
<repository>
<id>public</id>
<name>public Repository</name>
<url>http://127.0.0.1:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>public</id>
<name>Public Repositories</name>
<url>http://127.0.0.1:8081/nexus/content/groups/public/</url>
</pluginRepository>
</pluginRepositories>
</profile>
手机扫一扫
移动阅读更方便
你可能感兴趣的文章