博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Gradle自动创建Java项目结构
阅读量:5234 次
发布时间:2019-06-14

本文共 2535 字,大约阅读时间需要 8 分钟。

D:\N3verL4nd\Desktop\java>tree卷 本地磁盘 的文件夹 PATH 列表卷序列号为 00000200 0006:08B0D:.├─.gradle│  ├─3.4.1│  │  ├─file-changes│  │  └─taskHistory│  └─buildOutputCleanup├─gradle│  └─wrapper└─src    ├─main    │  └─java    └─test        └─javaD:\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 Libraryapply plugin: 'java-library'// In this section you declare where to find the dependencies of your projectrepositories {    // 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:08B0D:.└─xiya        HelloWorld.java
如上,我们的*.java文件在java目录下的xiya子目录下,而*.java源文件是这样写的:package aa.bb.cc;

生成的结构:

D:\N3verL4nd\Desktop\java\build>tree /f卷 本地磁盘 的文件夹 PATH 列表卷序列号为 00000200 0006:08B0D:.├─classes│  └─main│      └─aa│          └─bb│              └─cc│                      HelloWorld.class
可见,src\main\java文件夹下的目录结构只是为了对源文件分类。

参考:

转载于:https://www.cnblogs.com/lgh1992314/p/6616200.html

你可能感兴趣的文章
ubuntu 14.04 安装搜狗拼音输入法
查看>>
浅谈算法和数据结构: 一 栈和队列
查看>>
Java内部类详解
查看>>
【hdu 1429】胜利大逃亡(续)
查看>>
图论-次短路求法
查看>>
What's New for Visual C# 6.0
查看>>
ExtJs学习笔记之ComboBox组件
查看>>
关于收费软件
查看>>
getopt_long
查看>>
TensorFlow MNIST CNN 代码
查看>>
javascript之Style物
查看>>
JSON跨域解决方案收集
查看>>
SSH框架整合总结
查看>>
图的深度优先遍历
查看>>
C# 之 提高WebService性能大数据量网络传输处理
查看>>
md5sum命令详解
查看>>
[bzoj1004] [HNOI2008] Cards
查看>>
应该是实例化对象的没有对属性赋值时,自动赋值为null,但不是空指针对象引用...
查看>>
原生HttpClient详细使用示例
查看>>
几道面试题
查看>>