ถ้าอยากรันโค้ด Java และมี dependencies ต่างๆด้วย ตอนนี้ทำได้ง่ายๆด้วย Gradle ตัวอย่างการสร้างโปรเจ็ค Java ด้วย gradle ง่ายๆทำได้ดังนี้
สร้าง directory ใหม่แล้ว cd เข้าไป
> mkdir demo-java
> cd demo-java
จากนั้นสั่ง gradle init
แล้วเลือก option ตามนี้
> gradle init
Select type of project to generate:
1: basic
2: application
3: library
4: Gradle plugin
Enter selection (default: basic) [1..4] 2
Select implementation language:
1: C++
2: Groovy
3: Java
4: Kotlin
5: Scala
6: Swift
Enter selection (default: Java) [1..6]
Split functionality across multiple subprojects?:
1: no - only one application project
2: yes - application and library projects
Enter selection (default: no - only one application project) [1..2]
Select build script DSL:
1: Groovy
2: Kotlin
Enter selection (default: Groovy) [1..2]
Select test framework:
1: JUnit 4
2: TestNG
3: Spock
4: JUnit Jupiter
Enter selection (default: JUnit 4) [1..4]
Project name (default: demo-java):
Source package (default: demo.java):
> Task :init
Get more help with your project: https://docs.gradle.org/6.8.3/samples/sample_building_java_applications.html
BUILD SUCCESSFUL in 22s
2 actionable tasks: 2 executed
โครงสร้าง directory และไฟล์ต่างๆจะได้ตามนี้
.
├── app
│ ├── build
│ │ ├── classes
│ │ │ └── java
│ │ │ └── main
│ │ │ └── demo
│ │ │ └── java
│ │ │ └── App.class
│ │ ├── generated
│ │ │ └── sources
│ │ │ ├── annotationProcessor
│ │ │ │ └── java
│ │ │ │ └── main
│ │ │ └── headers
│ │ │ └── java
│ │ │ └── main
│ │ └── tmp
│ │ └── compileJava
│ │ └── source-classes-mapping.txt
│ ├── build.gradle
│ └── src
│ ├── main
│ │ ├── java
│ │ │ └── demo
│ │ │ └── java
│ │ │ └── App.java
│ │ └── resources
│ └── test
│ ├── java
│ │ └── demo
│ │ └── java
│ │ └── AppTest.java
│ └── resources
├── gradle
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
└── settings.gradle
โค้ดที่เราจะเขียนคือเขียนใน app/src/main/java/demo/java/App.java
ซึ่ง gradle จะเจน example ให้แบบนี้
/*
* This Java source file was generated by the Gradle 'init' task.
*/
package demo.java;
public class App {
public String getGreeting() {
return "Hello World!";
}
public static void main(String[] args) {
System.out.println(new App().getGreeting());
}
}
เราก็แก้โค้ดเล่นในนี้แล้วสั่งรันได้โดย gradle run
> gradle run
> Task :app:run
Hello World!
ทีนี้ถ้าเราจำเป็นต้องใช้ package อื่นที่ไม่ใช้ standard library ของ Java เราสามารถหา dependencies ได้จาก https://mvnrepository.com/ เช่นอยากได้ Apache Commons Codec เพื่อใช้งาน Hex.encodeHexString ก็ค้น Apache Commons Codec ในเว็บ https://mvnrepository.com/ แล้วเลือก version จากนั้นเลือก tab Gradle แล้วก็อปปี้ config ประมาณนี้
// https://mvnrepository.com/artifact/commons-codec/commons-codec
implementation group: 'commons-codec', name: 'commons-codec', version: '1.15'
แล้วเอาไปแก้ config ที่ไฟล์ app/build.gradle
โดยเพิ่มใน block dependencies {}
แบบนี้
dependencies {
// Use JUnit test framework.
testImplementation 'junit:junit:4.13'
// This dependency is used by the application.
implementation 'com.google.guava:guava:29.0-jre'
implementation group: 'commons-codec', name: 'commons-codec', version: '1.15'
}
เท่านี้เราก็สามารถใช้ Hex.encodeHexString ได้แล้วเช่นแก้โค้ดใน App.java เป็นแบบนี้
package demo.java;
import org.apache.commons.codec.binary.Hex;
public class App {
public static void main(String[] args) {
System.out.println(Hex.encodeHexString("Hello World".getBytes()));
}
}
สั่งรันด้วย gradle run
ก็จะได้แบบนี้
> gradle run
> Task :app:run
48656c6c6f20576f726c64
BUILD SUCCESSFUL in 1s
2 actionable tasks: 2 executed
Ref: https://docs.gradle.org/current/samples/sample_building_java_applications.html
ขอฝาก Buy Me a Coffee
สำหรับท่านใดที่อ่านแล้วชอบโพสต์ต่างๆของผมที่นี่ ต้องการสนับสนุนค่ากาแฟเล็กๆน้อยๆ สามารถสนับสนุนผมได้ผ่านทาง Buy Me a Coffee คลิ๊กที่รูปด้านล่างนี้ได้เลยครับ
ส่วนท่านใดไม่สะดวกใช้บัตรเครดิต หรือ Paypal สามารถสนับสนุนผมได้ผ่านทาง PromptPay โดยดู QR Code ได้จากโพสต์ที่พินเอาไว้ได้ที่ Page DevDose ครับ https://web.facebook.com/devdoseth
ขอบคุณครับ 🙏
Top comments (0)