JeKa ialah alat binaan Java moden yang memfokuskan pada kesederhanaan.
Apabila bermula dengan Java, pembangun biasanya hanya menulis beberapa kod, menyusunnya dan menjalankannya. Walau bagaimanapun, ini tidak mencukupi untuk mencipta aplikasi atau perpustakaan Java yang berguna yang boleh digunakan semula oleh orang lain. Untuk membina sesuatu yang praktikal di Jawa, kita perlu:
Ini selalunya dilakukan dengan alatan binaan tradisional seperti Maven atau Gradle. Alat ini memerlukan pembelajaran yang ketara dan boleh melibatkan konfigurasi yang membosankan.
Alternatif yang lebih mudah ialah JBang, yang membolehkan anda menulis hampir satu fail apl Java dan berkongsinya dengan mudah.
Sebaliknya, Jeka menawarkan pengurusan pergantungan mudah dan penggunaan ala JBang sambil membenarkan anda membina aplikasi atau perpustakaan berbilang kelas standard dengan disertakan ujian yang betul.
Prasyarat: Jeka mesti dipasang.
Petua: Untuk menyenaraikan pilihan yang tersedia, jalankan: asas jeka: --doc.
Untuk mencipta struktur asas, sedia untuk memulakan pengekodan dengan segera, laksanakan:
jeka base: scaffold scaffold.kind=APP
Anda akan mendapat struktur projek berikut:
. ├── jeka-src <- Source root directory │ ├── _dev <- Optional package containing all non-prod (build and test) │ │ ├── test │ │ └── Build.java │ └── app <- Sugested base package for production code/resources │ └── App.java ├── jeka-output <- Generated dir where artifacts as jars, classes, reports or doc are generated ├── jeka.properties <- Build configuration (Java and jeka version, kben configurations, ...) └── README.md <- Describes available build commands
Semua kod Java anda sepatutnya berada dalam folder jeka-src.
_dev ialah pakej khas untuk kod sumber dan kebergantungan yang digunakan hanya untuk pembangunan (cth., ujian, binaan). Jika anda baru menggunakan Java, anda boleh mengabaikan atau memadamkannya.
Contoh perancah termasuk kelas Apl dalam pakej apl. Anda boleh menambah atau mengubah suai kelas dalam mana-mana pakej yang anda suka.
Untuk menyegerakkan dengan IntelliJ, laksanakan:
jeka intellij: iml --force
Jika perubahan tidak muncul dalam IntelliJ, pergi ke direktori akar projek dan jalankan: jeka intellij: initProject.
Kelas App.java mengisytiharkan anotasi @JkDep untuk merujuk perpustakaan. Anda boleh menambah seberapa banyak perpustakaan yang diperlukan. Amalan yang baik ialah mengisytiharkan semua perpustakaan dalam kelas asas yang sama.
@JkDep("com.github.lalyos:jfiglet:0.8.9") @JkDep("com.fasterxml.jackson:jackson-bom::pom:2.18.2") @JkDep("com.fasterxml.jackson.core:jackson-core") @JkDep("com.fasterxml.jackson.core:jackson-annotations") public class App { public static void main(String[] args) { ... } }
Lihat butiran tentang tatatanda kebergantungan.
Selain itu, anda boleh salin-tampal fail JAR ke dalam direktori berikut untuk memasukkannya secara automatik sebagai kebergantungan:
├── jeka-boot <- Jars included in the production classpath.
Isytiharkan kebergantungan bukan produk
Isytiharkan pergantungan pada mana-mana kelas di bawah pakej _dev, untuk menambah pergantungan dengan membenamkannya dalam pengeluaran.
package _dev; @JkDep("org.junit.jupiter:junit-jupiter:5.11.4") @JkDep("org.mockito:mockito-junit-jupiter:5.15.2") class Build extends KBean { ... }
Peringatan: Jangan lupa jalankan jeka intellij: iml setelah anda mengubah suai kebergantungan.
Aplikasi boleh dijalankan menggunakan:
jeka base: scaffold scaffold.kind=APP
Untuk membersihkan kompilasi sebelum memulakan, gunakan pilihan --clean (pendek kata -c).
Jika kod sumber ini dihoskan dalam repo Git, aplikasi boleh dilaksanakan terus dengan merujuk repo sebagai:
. ├── jeka-src <- Source root directory │ ├── _dev <- Optional package containing all non-prod (build and test) │ │ ├── test │ │ └── Build.java │ └── app <- Sugested base package for production code/resources │ └── App.java ├── jeka-output <- Generated dir where artifacts as jars, classes, reports or doc are generated ├── jeka.properties <- Build configuration (Java and jeka version, kben configurations, ...) └── README.md <- Describes available build commands
Jika anda ingin menulis perpustakaan, bukannya aplikasi, anda perlu mengisytiharkan kedua-dua moduleId dan versi untuk menerbitkannya pada repositori Maven:
jeka intellij: iml --force
Kini, anda boleh menerbitkan pustaka anda dengan melaksanakan:
@JkDep("com.github.lalyos:jfiglet:0.8.9") @JkDep("com.fasterxml.jackson:jackson-bom::pom:2.18.2") @JkDep("com.fasterxml.jackson.core:jackson-core") @JkDep("com.fasterxml.jackson.core:jackson-annotations") public class App { public static void main(String[] args) { ... } }
Kod perancah sudah mengandungi kelas ujian _dev.test.MyTest, sedia untuk dijalankan.
├── jeka-boot <- Jars included in the production classpath.
Anda boleh menambah lebih banyak ujian dalam mana-mana pakej yang anda suka. Walau bagaimanapun, perlu diingat bahawa kelas ujian yang tidak terdapat dalam pakej _dev (atau subpakejnya) akan disertakan dalam JAR pengeluaran sebagai kod mati.
Kini, Java berkembang pesat, dengan keluaran baharu setiap enam bulan. JeKa menyediakan cara yang sangat mudah untuk bertukar antara versi Java. Hanya nyatakan versi dalam fail jeka.properties:
package _dev; @JkDep("org.junit.jupiter:junit-jupiter:5.11.4") @JkDep("org.mockito:mockito-junit-jupiter:5.15.2") class Build extends KBean { ... }
Ini akan memasang JDK 23 secara automatik semasa penyusunan atau jalankan aplikasi seterusnya.
Antara lain, Jeka menyediakan arahan berikut:
jeka --program arg0 args1 ... # or `jeka -p` for short
Arahan lain:
jeka --remote [git repo url] --program arg0 arg1 ... # or jeka -r [git repo url] -p
Memandangkan pangkalan kod semakin berkembang, anda mungkin akan berasa lebih selesa dalam menggunakan struktur projek penuh.
Bergerak ke projek adalah mudah, untuk mengetahui cara melakukannya, lawati Tutorial Bina Projek.
Anda juga boleh menulis kod Kotlin dalam pangkalan kod. Hanya nyatakan versi kotlin yang anda mahu gunakan dalam fail jeka.properties:
@base.moduleId=org.example:my-lib @base.version=1.0.0-SNAPSHOT
Kini, anda boleh mengedit kod Kotlin seperti yang ditunjukkan di bawah, menyepadukannya dengan lancar dengan kod Java sedia ada dalam pangkalan kod anda, atau pun membuat aplikasi Kotlin 100%:
jeka maven: publish
Jeka menawarkan mod praktikal untuk mula menulis aplikasi Java kehidupan sebenar tanpa beban alat binaan tradisional.
Struktur polimorfiknya membolehkan pengendalian meningkatkan kerumitan dan saiz secara beransur-ansur, tanpa mengorbankan kesederhanaan.
Resoures:
Atas ialah kandungan terperinci JeKa: Cara Paling Mudah untuk Bermula dengan Java untuk Nyata. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!