我有一个svn的jar库,project有很大一部分是用这部分的jar包,那如何在maven打包编译或mvn install时,一部分是引用maven远程库,一部分是依赖这个svn库呢?
问题补充:
在你maven目录下的conf目录下的settings文件中编辑
你本地库的目录
这个肯定是不行的,我的本地库又不符合maven读取的格式的
解决:
svn可以结合apache,webdav成为可以通过http访问的形式
然后在pom里面可以配置远程仓库,配置到对应的地址就可以了
不过建议你不要使用这种方式,最好是在本地架设一个nexus的maven2私服,这样就直接设置到私服上就可以了,nexus可以代理你的请求连接外网,如果本地没有这个jar,私服就会想central服务器请求下载,它下好了之后,然后你这边就有了对应的jar包了,私服上也有缓存,比较节省网络资源,也比较好管理
nexus地址
我对比了一些maven的私服以后,感觉nexus最好使,把搭建的过程步骤一下吧,我的环境是cent5, tomcat 6
1、下载war包,部署到tomcat中,启动tomcat;
2、访问:;
3、用admin/admin123登录;
4、修改admin的密码,但是不要修改别的属性和修改别的用户信息
5、进入administration中的repositories,依次修改三个type是proxy的项目,将其Download Remote Indexes修改为true;然后邮件他们,分别re-index一下;
6、将你自己机器上的manven缓存(一般是在C:\Documents and Settings\登录名\.m2下面)全部拷贝到/home/你的用户名/sonatype-work/nexus/storage下面的central和releases各一份;
7、修改你本地的(一般是在C:\Documents and Settings\登录名\.m2下面)setting.xml文件改成下面的:
- <settings>
- <proxies>
- <proxy>
- <id>normalid>
- <active>trueactive>
- <protocol>httpprotocol>
- <username>deploymentusername>
- <password>deploypassword>
- <host>172.19.0.177:8080/nexus-1.1.1host>
- <port>80port>
- <nonProxyHosts>172.19.0.177:8080/nexus-1.1.1nonProxyHosts>
- proxy>
- proxies>
- <servers>
- servers>
- <mirrors>
- <mirror>
- <id>nexus-public-snapshotsid>
- <mirrorOf>public-snapshotsmirrorOf>
- <url>url>
- mirror>
- <mirror>
-
- <id>nexusid>
- <mirrorOf>*mirrorOf>
- <url>url>
- mirror>
- mirrors>
- <profiles>
- <profile>
- <id>developmentid>
- <repositories>
- <repository>
- <id>centralid>
- <url>url>
- <releases><enabled>trueenabled>releases>
- <snapshots><enabled>trueenabled>snapshots>
- repository>
- repositories>
- <pluginRepositories>
- <pluginRepository>
- <id>centralid>
- <url>url>
- <releases><enabled>trueenabled>releases>
- <snapshots><enabled>trueenabled>snapshots>
- pluginRepository>
- pluginRepositories>
- profile>
- <profile>
- <id>public-snapshotsid>
- <repositories>
- <repository>
- <id>public-snapshotsid>
- <url>url>
- <releases><enabled>falseenabled>releases>
- <snapshots><enabled>trueenabled>snapshots>
- repository>
- repositories>
- <pluginRepositories>
- <pluginRepository>
- <id>public-snapshotsid>
- <url>url>
- <releases><enabled>falseenabled>releases>
- <snapshots><enabled>trueenabled>snapshots>
- pluginRepository>
- pluginRepositories>
- profile>
- profiles>
- <activeProfiles>
- <activeProfile>developmentactiveProfile>
- activeProfiles>
- settings>
normal
true
http
deployment
deploy
172.19.0.177:8080/nexus-1.1.1
80
172.19.0.177:8080/nexus-1.1.1
nexus-public-snapshots
public-snapshots
nexus
*
development
central
true
true
central
true
true
public-snapshots
public-snapshots
false
true
public-snapshots
false
true
development
将172.19.0.177地址修改为你自己的服务器地址
8、在你的项目中的pom.xml中增加一段:
- <distributionManagement>
- <repository>
- <id>repoid>
- <name>publicname>
- <url>url>
- repository>
- <snapshotRepository>
- <id>Snapshotsid>
- <name>Snapshotsname>
- <url>url>
- snapshotRepository>
- distributionManagement>
repo
public
Snapshots
Snapshots
这样一来经过我的测试,如果你在没有局域网的环境中(也就是没办法访问你的私服),只要将pom里面的那段删除就可以了。
阅读(2769) | 评论(0) | 转发(0) |