D:\N3verL4nd\Desktop\java>tree
卷 本地磁盘 的文件夹 PATH 列表
卷序列号为 00000200 0006:08B0
D:.
├─.gradle
│ ├─3.4.1
│ │ ├─file-changes
│ │ └─taskHistory
│ └─buildOutputCleanup
├─gradle
│ └─wrapper
└─src
├─main
│ └─java
└─test
└─java D:\N3verL4nd\Desktop\java>

通过使用:

gradle init --type java-library

我们可以快速建立一个java开发项目目录。

src/main/java目录包含了项目的源代码。

src/main/resources目录包含了项目的资源(如属性文件)。

src/test/java目录包含了测试类。

src/test/resources目录包含了测试资源。所有我们构建生成的文件都会在build目录下被创建,这个目录涵盖了以下的子目录

classes目录包含编译过的.class文件。

libs目录包含构建生成的jar或war文件。

src\main\java与src\test\java生成的*.java文件可以删除。

默认生成的build.gradle为:

/*
* This build file was generated by the Gradle 'init' task.
*
* This generated file contains a sample Java Library project to get you started.
* For more details take a look at the Java Libraries chapter in the Gradle
* user guide available at https://docs.gradle.org/3.4.1/userguide/java_library_plugin.html
*/ // Apply the java-library plugin to add support for Java Library
apply plugin: 'java-library' // In this section you declare where to find the dependencies of your project
repositories {
// Use jcenter for resolving your dependencies.
// You can declare any Maven/Ivy/file repository here.
jcenter()
} dependencies {
// This dependency is exported to consumers, that is to say found on their compile classpath.
api 'org.apache.commons:commons-math3:3.6.1' // This dependency is used internally, and not exposed to consumers on their own compile classpath.
implementation 'com.google.guava:guava:20.0' // Use JUnit test framework
testImplementation 'junit:junit:4.12'
}

我们可以对它做如下修改,来生成一个Hello World程序。

apply plugin: 'java'

jar {
manifest {
attributes 'Main-Class': 'aa.bb.cc.HelloWorld'
}
}

使用gradle tasks可以得到一个可运行任务及其描述的完整列表

这是一个很好的方式,不需要阅读构建脚本,就能对你的项目进行大致的浏览

gradle中几个常见的任务:

assemble任务会编译程序中的源代码,并打包生成Jar文件,这个任务不执行单元测试。

build任务会执行一个完整的项目构建。

clean任务会删除构建目录。

compileJava任务会编译程序中的源代码。

我们编写个简单的HelloWorld程序:

package aa.bb.cc;

public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}

D:\N3verL4nd\Desktop\java\src\main\java>tree /f
卷 本地磁盘 的文件夹 PATH 列表
卷序列号为 00000200 0006:08B0
D:.
└─xiya
HelloWorld.java

如上,我们的*.java文件在java目录下的xiya子目录下,而*.java源文件是这样写的:package aa.bb.cc;

生成的结构:

D:\N3verL4nd\Desktop\java\build>tree /f
卷 本地磁盘 的文件夹 PATH 列表
卷序列号为 00000200 0006:08B0
D:.
├─classes
│ └─main
│ └─aa
│ └─bb
│ └─cc
│ HelloWorld.class

可见,src\main\java文件夹下的目录结构只是为了对源文件分类。

参考:

https://docs.gradle.org/current/userguide/build_init_plugin.html

使用Gradle自动创建Java项目结构的更多相关文章

  1. 使用 Gradle 快速创建 Java 项目

    上一篇介绍了如何安装 Gradle,现在就可以直接通过已经安装好的 Gradle 创建一个普通 Java 项目 Gradle 默认内建了一个 init 插件,可以生成 Java 项目基础结构 $ gr ...

  2. 使用Maven创建Java项目

    在本教程中,我们将向你展示如何使用 Maven 来创建一个 Java 项目,导入其到Eclipse IDE,并打包 Java 项目到一个 JAR 文件. 所需要的工具: Maven 3.3.3 Ecl ...

  3. Maven学习(十)-----使用Maven创建Java项目

    所需要的工具: Maven 3.3.3 Eclipse 4.2 JDK 8 注意:请确保 Maven 是正确安装和配置(在Windows,*nix,Mac OSX系统中),然后再开始本教程,避免 mv ...

  4. maven 学习---使用Maven创建Java项目

    在本教程中,我们将向你展示如何使用 Maven 来创建一个 Java 项目,导入其到Eclipse IDE,并打包 Java 项目到一个 JAR 文件. 所需要的工具: Maven 3.3.3 Ecl ...

  5. Java开发环境的搭建以及使用eclipse从头一步步创建java项目

    一.java 开发环境的搭建 这里主要说的是在windows 环境下怎么配置环境. 1.首先安装JDK java的sdk简称JDK ,去其官方网站下载最近的JDK即可..http://www.orac ...

  6. 一、IntelliJ IDEA创建java项目

    一.IntelliJ IDEA创建java项目 二.IntelliJ IDEA下载并包含jdbc包 1.下载zip格式的驱动包:https://dev.mysql.com/downloads/conn ...

  7. 使用IDEA创建java项目(hello word)

    前提:已安装好jdk,配置好环境变量.我使用的是java 8. 首先在自己的D盘下建一个文件夹,用来存放我们待会新建的项目,我创建了IdeaProject: 1,第一步打开idea 第二步选择创建ja ...

  8. java第一天--Java开发环境的搭建以及使用eclipse从头一步步创建java项目

    一.java 开发环境的搭建 这里主要说的是在windows 环境下怎么配置环境. 1.首先安装JDK java的sdk简称JDK ,去其官方网站下载最近的JDK即可..http://www.orac ...

  9. 搭建一套Java开发环境以及使用eclipse从头一步步创建java项目

    一.java 开发环境的搭建 在windows 环境下怎么配置环境. 1.首先安装JDK java的sdk简称JDK ,去其官方网站下载JDK. https://www.oracle.com/tech ...

随机推荐

  1. DecoratorPattern(装饰器模式)-----Java/.Net

    装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构.这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装

  2. spinor/spinand flash之高频通信延迟采样

    SPI协议 对于spinor和spinand flash,其通信总线为SPI总线. SPI有四种工作模式,对应不同的极性和相位组合 极性,一般表示为CPOL(Clock POLarity),即SPI空 ...

  3. 在C#中使用二叉树实时计算海量用户积分排名的实现

    从何说起 前些天和朋友讨论一个问题,他们的应用有几十万会员然后对应有积分,现在想做积分排名的需求,问有没有什么好方案.这个问题也算常见,很多地方都能看到,常规做法一般是数据定时跑批把计算结果到中间表然 ...

  4. .net core试水

    概述 大概记录下我如何第一次使用.net core搭建一个api,由于最近.net core比较火,我也尝试着使用.net core做了一个小功能 本文主要包括 1.环境配置 2.程序编写 3.程序部 ...

  5. kubernetes基础——一文读懂k8s

    容器 容器与虚拟机对比图(左边为容器.右边为虚拟机)   容器技术是虚拟化技术的一种,以Docker为例,Docker利用Linux的LXC(LinuX Containers)技术.CGroup(Co ...

  6. [ASP.NET Core 3框架揭秘] Options[1]: 配置选项的正确使用方式[上篇]

    依赖注入不仅是支撑整个ASP.NET Core框架的基石,也是开发ASP.NET Core应用采用的基本编程模式,所以依赖注入十分重要.依赖注入使我们可以将依赖的功能定义成服务,最终以一种松耦合的形式 ...

  7. linux各目录及重要目录的详细介绍

    1 目录说明 根目录 (/) /bin bin是Binary的缩写, 这个目录存放着最经常使用的命令,比如ls,cat,mkdir等 /dev dev是Device(设备)的缩写, 该目录下存放的是L ...

  8. VUE CLI环境搭建文档

    VUE CLI环境搭建文档 1.安装Node.js 下载地址 https://nodejs.org/zh-cn/download/ 2.全局安装VUE CLI win+R键打开运行cmd窗口输入一下代 ...

  9. XSS基础学习

    XSS基础学习 By:Mirror王宇阳 什么是XSS XSS攻击是指在网页中嵌入一段恶意的客户端Js脚本代码片段,JS脚本恶意代码可以获取用户的Cookie.URL跳转.内容篡改.会话劫持--等. ...

  10. Scala实践9

    1.特征 Traits用于在类之间共享接口和字段.它们类似于Java 8的接口.类和对象可以扩展特征,但是特征不能被实例化,因此没有参数. 定义一个特征 最小特征只是关键字trait和标识符: tra ...