JeKa 是一個注重簡單性的現代 Java 建置工具。
開始使用 Java 時,開發人員通常只是寫一些程式碼,編譯並執行它。然而,這還不足以創建其他人可以重複使用的有用的 Java 應用程式或程式庫。為了用 Java 建構一些實用的東西,我們需要:
- 使用第三方函式庫(例如Guava、Gson、Commons CLI等)
- 打包並部署應用程式/庫,以便其他人可以使用它。
這通常是使用傳統的建置工具來完成的,例如 Maven 或 Gradle。這些工具需要大量學習,並且可能涉及繁瑣的配置。
一個更簡單的替代方案是 JBang,它可以讓您編寫幾乎單一檔案的 Java 應用程式並輕鬆共享它們。
另一方面,Jeka 提供簡單的依賴管理和部署 ala JBang,同時允許您建立標準的多類應用程式或包含適當測試的程式庫。
搭建新的程式碼庫
先決條件:必須安裝 Jeka。
提示:要列出可用選項,請執行:jeka base: --doc。
要建立一個基礎結構,準備好立即開始編碼,請執行:
jeka base: scaffold scaffold.kind=APP
您將獲得以下項目結構:
. ├── jeka-src <p>所有 Java 程式碼都應該位於 <em>jeka-src</em> 資料夾中。 </p> <p>_dev 是一個特殊的套件,包含原始碼和依賴項,僅用於開發(例如,測試、建置)。如果您是 Java 新手,可以忽略或刪除它。 </p> <p>鷹架範例在 <em>app</em> 套件中包含一個 <em>App</em> 類別。您可以在任何您喜歡的包中新增或修改類別。 </p> <h2> 與 IntelliJ 同步 </h2> <p>要與 IntelliJ 同步,請執行:<br> </p> <pre class="brush:php;toolbar:false">jeka intellij: iml --force
如果 IntelliJ 中沒有出現更改,請前往專案的根目錄,然後執行:jeka intellij: initProject。
新增依賴項
App.java 類別宣告一個 @JkDep 註解來引用函式庫。您可以根據需要新增任意數量的庫。一個好的做法是在同一個基類中聲明所有庫。
@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) { ... } }
查看依賴符號的詳細資訊。
此外,您可以將 JAR 檔案複製並貼上到以下目錄中,以自動將它們包含為依賴項:
├── jeka-boot <p><strong>聲明非產品依賴</strong></p> <p>聲明對 _dev 包下任何類別的依賴,以新增依賴關係並將它們嵌入生產中。 <br> </p> <pre class="brush:php;toolbar:false">package _dev; @JkDep("org.junit.jupiter:junit-jupiter:5.11.4") @JkDep("org.mockito:mockito-junit-jupiter:5.15.2") class Build extends KBean { ... }
提醒:修改依賴項後,不要忘記執行 jeka intellij: iml。
運行您的應用程式
應用程式可以使用以下方式運行:
jeka base: scaffold scaffold.kind=APP
要在開始之前清理編譯,請使用 --clean 選項(簡稱 -c)。
如果原始程式碼託管在 Git 儲存庫中,則可以透過引用儲存庫來直接執行應用程式:
. ├── jeka-src <h2> 建立一個庫 </h2> <p>如果您想編寫一個庫,而不是應用程序,則需要聲明 <em>moduleId</em> 和版本控制,以便將其發佈到 <em>Maven</em> 存儲庫:<br> </p> <pre class="brush:php;toolbar:false">jeka intellij: iml --force
現在,您可以透過執行以下命令來發布您的庫:
@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) { ... } }
測試你的程式碼
鷹架程式碼已經包含一個 _dev.test.MyTest 測試類,可以運行了。
├── jeka-boot <p>您可以在任何您喜歡的包中添加更多測試。但是,請記住,不在 _dev 套件(或其子套件)中的測試類別將作為死程式碼包含在生產 JAR 中。 </p> <h2> 更改Java版本 </h2> <p>如今,Java 發展迅速,每六個月就會發布新版本。 JeKa提供了一個非常方便的Java版本之間切換的方式。只需在 jeka.properties 檔案中指定版本即可:<br> </p> <pre class="brush:php;toolbar:false">package _dev; @JkDep("org.junit.jupiter:junit-jupiter:5.11.4") @JkDep("org.mockito:mockito-junit-jupiter:5.15.2") class Build extends KBean { ... }
這將在下一次應用程式編譯或執行期間自動安裝 JDK 23。
預定義的建置命令
除此之外,Jeka 也提供以下指令:
jeka --program arg0 args1 ... # or `jeka -p` for short
其他指令:
jeka --remote [git repo url] --program arg0 arg1 ... # or jeka -r [git repo url] -p
轉向完整的專案結構
隨著程式碼庫的不斷增長,您可能會發現使用完整的專案結構會更舒服。
轉移到專案很容易,要了解如何操作,請造訪建置專案教學。
使用 Kotlin 編寫程式碼
您也可以在程式碼庫中編寫Kotlin程式碼。只需在 jeka.properties 檔案中指定您要使用的 kotlin 版本:
@base.moduleId=org.example:my-lib @base.version=1.0.0-SNAPSHOT
現在,您可以編輯如下所示的 Kotlin 程式碼,將其與程式碼庫中現有的 Java 程式碼無縫集成,甚至創建 100% Kotlin 應用程式:
jeka maven: publish
結論
Jeka 提供了一種實用的模式來開始編寫現實生活中的 Java 應用程序,而無需傳統構建工具的負擔。
它的多態結構允許處理逐漸增加的複雜性和大小,而不犧牲簡單性。
資源:
- 杰卡
- 簡單的應用程式範例
- Spring-Boot 應用範例
- 建立基礎教學
- 其他範例
以上是JeKa:真正開始使用 Java 最簡單的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Java在企業級應用中被廣泛使用是因為其平台獨立性。 1)平台獨立性通過Java虛擬機(JVM)實現,使代碼可在任何支持Java的平台上運行。 2)它簡化了跨平台部署和開發流程,提供了更大的靈活性和擴展性。 3)然而,需注意性能差異和第三方庫兼容性,並採用最佳實踐如使用純Java代碼和跨平台測試。

JavaplaysigantroleiniotduetoitsplatFormentence.1)itallowscodeTobewrittenOnCeandrunonVariousDevices.2)Java'secosystemprovidesuseusefidesusefidesulylibrariesforiot.3)

ThesolutiontohandlefilepathsacrossWindowsandLinuxinJavaistousePaths.get()fromthejava.nio.filepackage.1)UsePaths.get()withSystem.getProperty("user.dir")andtherelativepathtoconstructthefilepath.2)ConverttheresultingPathobjecttoaFileobjectifne

Java'splatFormIndenceistificantBecapeitAllowSitallowsDevelostWriTecoDeonCeandRunitonAnyPlatFormwithAjvm.this“ writeonce,runanywhere”(era)櫥櫃櫥櫃:1)交叉plat formcomplibility cross-platformcombiblesible,enablingDeploymentMentMentMentMentAcrAptAprospOspOspOssCrossDifferentoSswithOssuse; 2)

Java適合開發跨服務器web應用。 1)Java的“一次編寫,到處運行”哲學使其代碼可在任何支持JVM的平台上運行。 2)Java擁有豐富的生態系統,包括Spring和Hibernate等工具,簡化開發過程。 3)Java在性能和安全性方面表現出色,提供高效的內存管理和強大的安全保障。

JVM通過字節碼解釋、平台無關的API和動態類加載實現Java的WORA特性:1.字節碼被解釋為機器碼,確保跨平台運行;2.標準API抽像操作系統差異;3.類在運行時動態加載,保證一致性。

Java的最新版本通過JVM優化、標準庫改進和第三方庫支持有效解決平台特定問題。 1)JVM優化,如Java11的ZGC提升了垃圾回收性能。 2)標準庫改進,如Java9的模塊系統減少平台相關問題。 3)第三方庫提供平台優化版本,如OpenCV。

JVM的字節碼驗證過程包括四個關鍵步驟:1)檢查類文件格式是否符合規範,2)驗證字節碼指令的有效性和正確性,3)進行數據流分析確保類型安全,4)平衡驗證的徹底性與性能。通過這些步驟,JVM確保只有安全、正確的字節碼被執行,從而保護程序的完整性和安全性。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具