1. D:\N3verL4nd\Desktop\java>tree
  2. 本地磁盘 的文件夹 PATH 列表
  3. 卷序列号为 00000200 0006:08B0
  4. D:.
  5. ├─.gradle
  6. ├─3.4.1
  7. ├─file-changes
  8. └─taskHistory
  9. └─buildOutputCleanup
  10. ├─gradle
  11. └─wrapper
  12. └─src
  13. ├─main
  14. └─java
  15. └─test
  16. └─java
  17.  
  18. 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为:

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

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

  1. apply plugin: 'java'
  2.  
  3. jar {
  4. manifest {
  5. attributes 'Main-Class': 'aa.bb.cc.HelloWorld'
  6. }
  7. }

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

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

gradle中几个常见的任务:

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

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

clean任务会删除构建目录。

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

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

  1. package aa.bb.cc;
  2.  
  3. public class HelloWorld {
  4. public static void main(String[] args) {
  5. System.out.println("Hello World!");
  6. }
  7. }

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

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

生成的结构:

  1. D:\N3verL4nd\Desktop\java\build>tree /f
  2. 本地磁盘 的文件夹 PATH 列表
  3. 卷序列号为 00000200 0006:08B0
  4. D:.
  5. ├─classes
  6. └─main
  7. └─aa
  8. └─bb
  9. └─cc
  10. 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. $[NOIp2017]$ 逛公园 $dp$/记搜

    \(Des\) 给定一个有向图,起点为\(1\),终点为\(n\),求和最短路相差不超过\(k\)的路径数量.有\(0\)边.如果有无数条,则输出\(-1\). \(n\leq 10^5,k\leq ...

  2. JAVA字节码文件之第三篇(访问标识)

    一.Access Flags 访问标志 访问标志信息包括该 Class 文件是类还是接口,是否被定义成 public 或者 abstract , 如果是类,是否被声明成 final. 访问标志表 二. ...

  3. 程序员初学者参考 ---懂得基础语法后如何做一个自己的case?

    对于很多人来说,我懂java语法,甚至面向对象的特性啦这些都是有了解的,但我就是不会做项目,其实项目真有那么难吗? 对于基础不牢固的人来说,我还不会这个基础点,那个还没学呢,你让我做个项目,我保证做不 ...

  4. 基于 Blazui 的 Markdown 编辑器 Blazui.Markdown 尝鲜

    想做一个文档平台用来存放和展示 Blazui 的文档,然后基于 Markdown 写文档,但缺一个好用的 Blazor Markdown 编辑器,所以就顺便写一个了,功能上基本抄的 https://p ...

  5. 小小知识点(二十五)5G关键技术——Massive MIMO(大规模天线阵列)和beamforming(波束成形)

    转自http://www.elecfans.com/d/949864.html 多输入多输出技术(Multiple-Input Multiple-Output,MIMO)是指在发射端和接收端分别使用多 ...

  6. Java 多线程与并发(六):AQS

    我们前面几张提到过,JUC 这个包里面的工具类的底层就是使用 CAS 和 volatile 来保证线程安全的,整个 JUC 包里面的类都是基于它们构建的.今天我们介绍一个非常重要的同步器,这个类是 J ...

  7. sqlserver 存储过程调Api接口

    --开启Sql Server 通讯配置-- sp_configure ; GO RECONFIGURE; GO sp_configure ; GO RECONFIGURE; GO EXEC sp_co ...

  8. C++ 动态数组与链表

    动态数组与链表 动态数组的大小不定,内存连续的,可以根据自己的需要,增加或删除元素.知道第一个元素的,那么就可以知道第二个元素,通过下标访问.如果中间插入一个元素,那么中间后面的元素的下标全部都要改变 ...

  9. Go和Java的性能对比,真的如此吗?

    前两天我看到了一篇文章,测试Java和Go和Python的性能,其测试内容是一个排序,排序一亿次,然后看那个语言耗时最短,我先贴一下这个文章的测试结果,Java竟然比Go快了一倍不止,Go不是号称接近 ...

  10. Rust入坑指南:海纳百川

    今天来聊Rust中两个重要的概念:泛型和trait.很多编程语言都支持泛型,Rust也不例外,相信大家对泛型也都比较熟悉,它可以表示任意一种数据类型.trait同样不是Rust所特有的特性,它借鉴于H ...