使用eclipse创建项目的时候,为了更符合gradle的标准,需要初始化项目目录。首先在项目中创建build.gradle
文件。
附:build.gradle文件常用任务解析:
apply plugin: 'maven': 使用maven做为jar包的信赖管理,通过mave仓库下载项目所需的信赖包
apply plugin: 'war':指定web项目,有这行时我们需要创建 src/main/webapp 目录,项目编译(在项目提示符下执行:gradle build)时生成项目的war包。
apply plugin: 'java': 指定项目为java项目,项目编译(在项目提示符下执行:gradle build)时生成项目的jar包。
apply plugin: 'eclipse-wtp':插件将构建web项目的开发环境,生成所需要的.project,.classpath等文件。因为我web开发使用的 是eclipse-j2ee版本,所以指定为wtp环境。
apply plugin: 'eclipse':java项目的eclipse开发环境构建.生成所需要的.project,.classpath等文件。
apply plugin: 'jetty':加入jetty的支持,代码修改后直接执行命令gradle jettyRun即可运行web项目。
repositories: 指定仓库使用。
dependencies:项目依赖定义,compile为编译级别依赖,还有testCompile为测试级别的依赖等。
compile: jar包的依赖配置有几种方法,我这里采用的是较为简略的方式,其中还有一种是:
我们执行 gradle eclipse
后是不会生成src
目录的,工程下的源文件目录是需要自己来生成的。Gradle 参考 Maven 的标准目录布局,即
12345678 | src ├── main │ ├── java │ ├── resources │ └── webapp └── test ├── java └── resources |
java的测试代码目录:src/test/java
资源文件目录:src/main/resources
测试的资源目录:src/test/resources
WEB项目的目录:src/main/webapp 这个目录包含Web应用的源文件(CSS文件、Javascript文件、JSP文件等),即便War插件在项目的目录布局下添加了src/main/webapp目录,但它实际上并没有被真正创建。如果我们需要这个目录,那就必须自己来创建。。
1. 纯手工,在工程目录中执行
mkdir -p src/main/{java,resources}
mkdir -p src/test/{java,resources}#如果是 web 项目还要生成 webapp 目录
mkdir -p src/main/webapp
可以把它们合成一条命令,比如
本文原始链接mkdir -p src/main/{java,resources,webapp} src/test/{java,resource}
#或者 mkdir -p src{main,test}/{java,resources} src/webapp
gradle eclipse 命令即可。
2. 用 Gradle 任务来初始化工程目录
普通 Java 项目,这样的 build.gradle
apply plugin: 'java'
apply plugin: 'eclipse'
task createJavaProject << {
sourceSets*.java.srcDirs*.each{ it.mkdirs() }
sourceSets*.resources.srcDirs*.each{ it.mkdirs()}
}
执行下面命令
gradle createJavaProject eclipse
Java Web 项目,这个 build.gradle
apply plugin: 'java'
apply plugin: 'eclipse-wtp'
apply plugin: 'war'
task createJavaProject << {
sourceSets*.java.srcDirs*.each{ it.mkdirs() }
sourceSets*.resources.srcDirs*.each{ it.mkdirs()}
}
task createWebProject(dependsOn: 'createJavaProject') << {
defwebAppDir = file("$webAppDirName")
webAppDir.mkdirs()
}
执行下面命令
gradle createWebProject eclipse
创建好了基本的目录之后立即把 createJavaProject 和 createWebProject 这两任务删去。
参考:http://unmi.cc/initialize-gradle-project-layout/