Gradle高阶使用

来源:互联网 发布:网络紅人思瑞 编辑:程序博客网 时间:2024/05/17 09:30
手动创建的gradle项目是无法直接import到eclipse(或idea),需要在build.gradle中加入eclipse(或idea插件):
apply plugin: 'eclipse' //eclipse插件
然后执行gradle eclipse命令。该命令会在工程目录中生成eclipse所需要.settings、.classpath、.project这三个文件。这样就可以import项目到eclipse中了。


引入jar包需要在build.gradle中添加这样的语句:
repositories {    mavenLocal()    maven { url 'http://maven.oschina.net/content/groups/public/' }    maven { url 'http://uk.maven.org/maven2/' }    maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }    maven { url 'https://repo.spring.io/libs-snapshot/' }    mavenCentral()}dependencies {    compile 'com.google.guava:guava:19.0'}
在dependencies中添加需要引入的jar包,类似与maven,可以在http://mvnrepository.com/中找需要的jar。

当需要将项目打包成可执行的jar时,如果在项目中引入了其它的jar包,需要在build.gradle中添加这样语句:
jar {    from {         configurations.compile.collect {       it.isDirectory() ? it : zipTree(it)         }     }    manifest {        attributes 'Main-Class': 'com.zero.HelloWorld'    }}
这样不止我们的项目代码会进入xxx.jar中,引入的jar包的相关代码也会进入xxx.jar,避免出现java.lang.NoClassDefFoundError。

如果需要gradle自动帮我们在项目中生成java和scala的src目录,可以加入一下语句并执行 gradle mkdirs 命令。
task "mkdirs" << {    sourceSets*.scala.srcDirs*.each { it.mkdirs() }    sourceSets*.java.srcDirs*.each { it.mkdirs() }    sourceSets*.resources.srcDirs*.each { it.mkdirs() }}
0 0