在局域网内搭建maven私有仓库,可避免每次都从中央仓库下载公共jar包,另外将A模块作为二方库发布到私有仓库后,B模块可以很方便的引用,今天我们就来实战maven私有仓库的搭建和使用;
原文地址:http://blog.csdn.net/boling_cavalry/article/details/79059021
jvm 1 | 2018-01-13 21:38:44,671-0800 INFO [jetty-main-1] org.sonatype.nexus.webresources.internal.WebResourceServlet - Max-age: 30 days (2592000 seconds)
jvm 1 | 2018-01-13 21:38:44,698-0800 INFO [jetty-main-1] org.sonatype.nexus.bootstrap.jetty.InstrumentedSelectChannelConnector - Metrics enabled
jvm 1 | 2018-01-13 21:38:44,713-0800 INFO [jetty-main-1] org.eclipse.jetty.server.AbstractConnector - Started InstrumentedSelectChannelConnector@0.0.0.0:8081
jvm 1 | 2018-01-13 21:38:44,713-0800 INFO [jetty-main-1] org.sonatype.nexus.bootstrap.jetty.JettyServer - Running
jvm 1 | 2018-01-13 21:38:44,713-0800 INFO [WrapperListener_start_runner] org.sonatype.nexus.bootstrap.jetty.JettyServer - Started
jvm 1 | 2018-01-13 21:39:26,926-0800 INFO [qtp984089572-47] org.apache.shiro.nexus5727.FixedDefaultWebSessionManager - Global session timeout: 1800000 ms
jvm 1 | 2018-01-13 21:39:26,931-0800 INFO [qtp984089572-47] org.apache.shiro.session.mgt.AbstractValidatingSessionManager - Enabling session validation scheduler...
jvm 1 | 2018-01-13 21:39:26,944-0800 INFO [qtp984089572-47] org.apache.shiro.cache.ehcache.EhCacheManager - Using existing EHCache named [shiro-activeSessionCache]
jvm 1 | 2018-01-13 21:39:26,945-0800 INFO [qtp984089572-45] org.apache.shiro.nexus5727.FixedDefaultWebSessionManager - Global session timeout: 1800000 ms
目前nexus已经开始正常工作了,接下来我们开始使用私有仓库;
<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>http://192.168.119.155:8081/nexus/content/groups/public/</url>
</mirror>
192.168.119.155是nexus机器的IP; 3. 在profiles节点下新增一个profile节点,内容如下:
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>central</id>
<url>http://central</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>http://central</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
以上新增了中央仓库的相关信息; 4. 新增一个activeProfiles节点,该节点和profiles节点一个层次,内容如下:
<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>
mvn clean package -Dmaven.test.skip=true
[INFO] Building jar: D:\temp\201801\06\helloworld\target\helloworld-0.0.1-SNAPSHOT.jar
[INFO]
[INFO] --- spring-boot-maven-plugin:1.5.9.RELEASE:repackage (default) @ helloworld ---
Downloading: http://192.168.119.155:8081/nexus/content/groups/public/org/springframework/boot/spring-boot-loader-tools/1.5.9.RELEASE/spring-boot-loader-tools-1.5.9.RELEASE.pom
Downloaded: http://192.168.119.155:8081/nexus/content/groups/public/org/springframework/boot/spring-boot-loader-tools/1.5.9.RELEASE/spring-boot-loader-tools-1.5.9.RELEASE.pom (0 B at 0.0 KB/sec)
Downloading: http://192.168.119.155:8081/nexus/content/groups/public/org/springframework/boot/spring-boot-loader-tools/1.5.9.RELEASE/spring-boot-loader-tools-1.5.9.RELEASE.jar
Downloaded: http://192.168.119.155:8081/nexus/content/groups/public/org/springframework/boot/spring-boot-loader-tools/1.5.9.RELEASE/spring-boot-loader-tools-1.5.9.RELEASE.jar (0 B at 0.0 KB/sec)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:21 min
[INFO] Finished at: 2018-01-14T17:57:45+08:00
[INFO] Final Memory: 29M/164M
[INFO] ------------------------------------------------------------------------
此时再从浏览器查看“Central”仓库的信息,发现里面已经缓存了前面的springboot工程所依赖的jar包,今后其他机器再需要这些jar包时,就可以直接从私有仓库上下载了,而私有仓库没有的jar包,也会由私有仓库下载并保存,然后提供给使用私有仓库的机器;
至此,nexus的安装和缓存jar包功能的使用实战已经完成,接下来的章节,我们会将本机的工程打包并发布到私有仓库;