Gradle - Xây dựng dự án JAVA
Chương này giải thích về cách xây dựng một dự án java bằng cách sử dụng tệp xây dựng Gradle.
Trước hết chúng ta phải thêm java plugin vào build script vì nó cung cấp các tác vụ biên dịch mã nguồn Java, chạy các bài kiểm tra đơn vị, tạo Javadoc và tạo tệp JAR. Sử dụng dòng sau trongbuild.gradle tập tin.
apply plugin: 'java'
Bố cục dự án mặc định của Java
Khi bạn thêm một plugin vào bản dựng của mình, nó sẽ giả sử một thiết lập nhất định của dự án Java của bạn (tương tự như Maven). hãy xem xét cấu trúc thư mục sau.
- src / main / java chứa mã nguồn Java
- src / test / java chứa các bài kiểm tra Java
Nếu bạn làm theo thiết lập này, tệp xây dựng sau là đủ để biên dịch, kiểm tra và đóng gói một dự án Java.
Để bắt đầu xây dựng, hãy nhập lệnh sau trên dòng lệnh.
C:\> gradle build
SourceSetscó thể được sử dụng để chỉ định một cấu trúc dự án khác. Ví dụ: các nguồn được lưu trữ trongsrc thư mục thay vì trong src/main/java. Hãy xem cấu trúc thư mục sau đây.
apply plugin: 'java'
sourceSets {
main {
java {
srcDir 'src'
}
}
test {
java {
srcDir 'test'
}
}
}
init Thực thi Tác vụ
Gradle chưa hỗ trợ nhiều mẫu dự án. Nhưng nó cung cấp mộtinitnhiệm vụ tạo cấu trúc của một dự án Gradle mới. Không có tham số bổ sung, tác vụ này tạo một dự án Gradle, chứa các tệp trình bao bọc gradle,build.gradle và settings.gradle tập tin.
Khi thêm --type tham số với java-library như giá trị, cấu trúc dự án java được tạo và build.gradletệp chứa một mẫu Java nhất định với Junit. Hãy xem đoạn mã sau chobuild.gradle tập tin.
apply plugin: 'java'
repositories {
jcenter()
}
dependencies {
compile 'org.slf4j:slf4j-api:1.7.12'
testCompile 'junit:junit:4.12'
}
Trong phần kho lưu trữ, nó xác định nơi để tìm các phụ thuộc. Jcenterlà để giải quyết các phụ thuộc của bạn. Phần phụ thuộc là để cung cấp thông tin về các phụ thuộc bên ngoài.
Chỉ định phiên bản Java
Thông thường, một dự án Java có một phiên bản và một JRE đích mà nó được biên dịch. Cácversion và sourceCompatibility tài sản có thể được thiết lập trong build.gradle tập tin.
version = 0.1.0
sourceCompatibility = 1.8
Nếu cấu phần là một ứng dụng Java thực thi, MANIFEST.MF tệp phải được biết về lớp với phương thức chính.
apply plugin: 'java'
jar {
manifest {
attributes 'Main-Class': 'com.example.main.Application'
}
}
Example:
Tạo cấu trúc thư mục như thể hiện trong ảnh chụp màn hình bên dưới.
Sao chép mã java đã cho bên dưới vào tệp App.java và lưu trữ vào consumerbanking\src\main\java\com\bank directory.
package com.bank;
/**
* Hello world!
*
*/
public class App {
public static void main( String[] args ){
System.out.println( "Hello World!" );
}
}
Sao chép mã java đã cho bên dưới vào tệp AppTset.java và lưu trữ vào consumerbanking\src\test\java\com\bank directory.
package com.bank;
/**
* Hello world!
*
*/
public class App{
public static void main( String[] args ){
System.out.println( "Hello World!" );
}
}
Sao chép mã đã cho dưới đây vào tệp build.gradle và đặt vào consumerbanking\ danh mục.
apply plugin: 'java'
repositories {
jcenter()
}
dependencies {
compile 'org.slf4j:slf4j-api:1.7.12'
testCompile 'junit:junit:4.12'
}
jar {
manifest {
attributes 'Main-Class': 'com.example.main.Application'
}
}
Để biên dịch và thực thi tập lệnh trên, hãy sử dụng các lệnh dưới đây.
consumerbanking\> gradle tasks
consumerbanking\> gradle assemble
consumerbanking\> gradle build
Kiểm tra tất cả các tệp lớp trong các thư mục tương ứng và kiểm tra consumerbanking\build\lib thư mục cho consumerbanking.jar tập tin.