用Nexus来搭建本地的Maven服务器
下载地址是:http://nexus.sonatype.org/downloads/
我下载的是:nexus-oss-webapp-1.8.0.1-bundle.tar.gz
一、安装服务器
解压下载的文件:
# tar xzvf nexus-oss-webapp-1.8.0.1-bundle.tar.gz
解压后目录:
nexus-oss-webapp-1.8.0.1 包含了nexus的运行环境和应用程序
sonatype-work 包含了你自己的配置和数据
启动nexus
进入nexus-oss-webapp-1.8.1目录
# cd nexus-oss-webapp-1.8.0.1/bin/jsw
根据自己机器选择版本
我选择的是 linux-x86-32
# cd linux-x86-32/
linux-x86-32目录结构:lib nexus nexus.pid platform.conf wrapper
nexus就是启动命令
# ./nexus
执行上面的命令,可以得到nexus命令的用法提示:start 命令启动,stop命令停止。下面启动nexus:
# ./nexus start
以上表示启动成功!
通过log文件查看更详细的信息
# cd ~/nexus-oss-webapp-1.8.0.1/log
# tail -f wrapper.log
在log中可以看到nexus默认监听的端口是8081。那么我们就可以在浏览器中访问:http://host:8081/nexus
默认用户名是admin密码是admin123
二、配置Nexus
由于在新搭建的nexus环境中只是一个空的仓库,所以第一步就是要和远程的Maven中心仓库进行同步。
如果在Reindex之后,并没有同步到远程的仓库,可以检查每个仓库的设置。下面是Maven Central的设置:
三、在项目中使用私服
在完成了上面的配置后,就可以将项目中默认的Repository切换为本地的私服了,只需要在pom.xml中增加repositories就可以了:
- <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>com.mycom.test</groupId>
- <artifactId>simple</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- <packaging>jar</packaging>
- <name>simple</name>
- <url>http://maven.apache.org</url>
- <repositories>
- <repository>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- <id>public</id>
- <name>Public Repositories</name>
- <url>http://192.168.1.7:8081/nexus/content/groups/public/</url>
- </repository>
- </repositories>
- <pluginRepositories>
- <pluginRepository>
- <id>public</id>
- <name>Public Repositories</name>
- <url>http://192.168.1.7:8081/nexus/content/groups/public//</url>
- </pluginRepository>
- </pluginRepositories>
- <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>
- </dependencies>
- </project>
将pom.xml保存后,再回过头来了看去nexus管理界面看,就会发现junit已经被下载到本地的nexus服务器中了。
添加缺少的jar包
Missing artifact org.freemarker:freemarker:jar:2.3.19:compile: 这就说明你的私人仓库中并没有freemarker.jar的包
现在就来给nexus库中加入我们需要的jar包
1.首先要下好相应的包:这是我放在的目录:
2.现在就是把它放进去了:
打开cmd 输入:
mvn install:install-file -DgroupId=org.freemarker -DartifactId=freemarker -Dversion=2.3.19 -Dfile=E:\文件\java\freemarker\freemarker-2.3.19\lib\freemarker.jar -Dpackaging=jar -DgeneratePom=true
回车就行了;
现在再刷新下你的工程就行了!
1、maven包查询:
http://mvnrepository.com/
2、maven公共仓库:
http://mirrors.ibiblio.org/pub/mirrors/maven2/
http://gradle.artifactoryonline.com/gradle/libs
http://gradle.artifactoryonline.com/gradle/plugins
http://google-maven-repository.googlecode.com/svn/repository
http://maven.springframework.org/release
http://maven.springframework.org/milestone
http://repository.codehaus.org
http://repository.jboss.org/nexus/content/groups/public-jboss
http://repo.jfrog.org/artifactory/plugins-releases-local
http://repo.jfrog.org/artifactory/libs-releases-local
http://download.java.net/maven/1
http://download.java.net/maven/2
http://repo1.maven.org/maven2
http://www.intalio.org/public/maven2/
http://www.jarvana.com/jarvana/browse/
http://maven.alfresco.com/nexus/content/groups/public