linux下 为gradle配置maven本地库

1、下载maven 当前版本3.2.1 解压缩将bin目录加入PATH mvn --version成功的话 表示安装成功,可以设置环境变量MAVEN_OPTS=-Xms256m-Xms512m(在~\.bashrc下貌似要这么设 中间有空格不行)
2、修改自带conf/settings.xml,取消<localRepository>/home/liuyi/maven/repository</localRepository>的注释,里面是自定义的maven本地库位置(这里不能用~/maven/repository,貌似不认识),保险起见 /home/liuyi/maven/repository先建好,设好访问权限
3、尝试将自己的jar包导入maven本地库 比如
mvn install:install-file -Dfile=/home/liuyi/下载/hibernate-release-4.2.8.Final/lib/required/hibernate-core-4.2.8.Final.jar -DgroupId=org.hibernate -DartifactId=hibernate-core -Dversion=4.2.8.Final -Dpackaging=jar
这里-Dfile用绝对路径、相对路径皆可,不能用~/下载/..... 也不认识
执行成功后在/home/liuyi/maven/repository可发现导入的jar包和maven相关结构文件
4、gradle的安装不再说明,建立一个java project,设置main/java路径后,将它改成gradle project,
在主目录下新建build.gradle文件
apply plugin: 'java'
apply plugin: 'eclipse'

def localMavenRepo = 'file://' + new File(System.getProperty('user.home'), 'maven/repository').absolutePath

repositories {
   maven { url localMavenRepo }
}

dependencies {
   compile 'org.hibernate:hibernate-core:4.2.8.Final'
}

或者直接 url '................' 也可
5、在主目录下执行gradle cE e,eclipse里刷新项目 即可发现hibernate-core-4.2.8.Final.jar已经导入

nexus 2.7 windows下执行nexus.bat start 可能报错

wrapper  | The nexus-webapp service is not installed - 指定的服务未安装。 (0x424
)

解决办法

在conf/nexus.properties文件最后一行加入wrapper.startup.delay=30

重新执行nexus.bat install 然后nexus.bat start即可

如果是用nexus建立maven server那就简单多了,nexus.bat启动以后 admin:admin123登陆localhost:8081/nexus(端口在nexus.properties设置),点左上角的Repositories可以看见刷出来几种

repositories

proxy 代理库:比如Central对外它们对远程库(比如maven中央库) 代表本机,下载的jar包都放在这里,对内它们作为服务器的库 提供jar包。Configuration标签页的Override Local Storage Location 可以配置库位置,Remote Storage Location可以配置远程库 链接。比如http://repo1.maven.org/maven2/

hosted 代理库:比如3rt party,snapshots,released等 用于上传远程库里没有的,或者自己开发的jar包,供其他人调用,可在artifact upload标签页上传

group 比如public repostory 就是可以将多个proxy,hosted库放到一个组里,用一个url访问,方便集中管理

这样gradle项目的build.gradle就应该配置如下

apply plugin: 'java'
apply plugin: 'eclipse'

repositories {
    maven { url 'http://localhost:12354/nexus/content/groups/public/' }
}

dependencies {
    compile 'org.hibernate:hibernate-core:4.2.8.Final'
}

http://localhost:12354/nexus/content/groups/public/ 是group repository public的url

gradle cE e搞定

猜你喜欢

转载自fourfireliu.iteye.com/blog/2031188