使用gradle初始化(创建)java的目录结构

本文介绍如何使用Gradle初始化Java及Web项目的目录结构,包括手工创建和利用Gradle任务自动化创建两种方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用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 的标准目录布局,即

1
2
3
4
5
6
7
8
src
 ├── main
 │   ├── java
 │   ├── resources
 │   └── webapp
 └── test
     ├── java
     └── resources
java的源码目录:src/main/java 
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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值