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>
經過使用:html
gradle init --type java-library
java
咱們能夠快速創建一個java開發項目目錄。apache
src/main/java目錄包含了項目的源代碼。
src/main/resources目錄包含了項目的資源(如屬性文件)。
src/test/java目錄包含了測試類。
src/test/resources目錄包含了測試資源。全部咱們構建生成的文件都會在build目錄下被建立,這個目錄涵蓋了如下的子目錄
classes目錄包含編譯過的.class文件。
libs目錄包含構建生成的jar或war文件。
api
src\main\java與src\test\java生成的*.java文件能夠刪除。
app
默認生成的build.gradle爲:ide
/* * 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中幾個常見的任務:gradle
assemble任務會編譯程序中的源代碼,並打包生成Jar文件,這個任務不執行單元測試。
build任務會執行一個完整的項目構建。
clean任務會刪除構建目錄。
compileJava任務會編譯程序中的源代碼。
ui
咱們編寫個簡單的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