手动创建的gradle项目是无法直接import到eclipse(或idea),需要在build.gradle中加入eclipse(或idea插件):
引入jar包需要在build.gradle中添加这样的语句:
当需要将项目打包成可执行的jar时,如果在项目中引入了其它的jar包,需要在build.gradle中添加这样语句:
如果需要gradle自动帮我们在项目中生成java和scala的src目录,可以加入一下语句并执行 gradle mkdirs 命令。
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() }
}