首頁 > Java > java教程 > JeKa:真正開始使用 Java 最簡單的方法

JeKa:真正開始使用 Java 最簡單的方法

Susan Sarandon
發布: 2025-01-06 20:13:50
原創
591 人瀏覽過

JeKa: The Simplest Way to Start with Java for Real

JeKa 是一個注重簡單性的現代 Java 建置工具。

開始使用 Java 時,開發人員通常只是寫一些程式碼,編譯並執行它。然而,這還不足以創建其他人可以重複使用的有用的 Java 應用程式或程式庫。為了用 Java 建構一些實用的東西,我們需要:

  • 使用第三方函式庫(例如Guava、Gson、Commons CLI等)
  • 打包並部署應用程式/庫,以便其他人可以使用它。

這通常是使用傳統的建置工具來完成的,例如 MavenGradle。這些工具需要大量學習,並且可能涉及繁瑣的配置。
一個更簡單的替代方案是 JBang,它可以讓您編寫幾乎單一檔案的 Java 應用程式並輕鬆共享它們。

另一方面,Jeka 提供簡單的依賴管理和部署 ala JBang,同時允許您建立標準的多類應用程式或包含適當測試的程式庫。

搭建新的程式碼庫

先決條件:必須安裝 Jeka。

提示:要列出可用選項,請執行:jeka base: --doc。

要建立一個基礎結構,準備好立即開始編碼,請執行:

jeka base: scaffold scaffold.kind=APP
登入後複製
登入後複製

您將獲得以下項目結構:

. 
├── 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
登入後複製
登入後複製

所有 Java 程式碼都應該位於 jeka-src 資料夾中。

_dev 是一個特殊的套件,包含原始碼和依賴項,僅用於開發(例如,測試、建置)。如果您是 Java 新手,可以忽略或刪除它。

鷹架範例在 app 套件中包含一個 App 類別。您可以在任何您喜歡的包中新增或修改類別。

與 IntelliJ 同步

要與 IntelliJ 同步,請執行:

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      <- Jars included in the production classpath.
登入後複製
登入後複製

聲明非產品依賴

聲明對 _dev 包下任何類別的依賴,以新增依賴關係並將它們嵌入生產中。

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             <- 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
登入後複製
登入後複製

建立一個庫

如果您想編寫一個庫,而不是應用程序,則需要聲明 moduleId 和版本控制,以便將其發佈到 Maven 存儲庫:

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      <- Jars included in the production classpath.
登入後複製
登入後複製

您可以在任何您喜歡的包中添加更多測試。但是,請記住,不在 _dev 套件(或其子套件)中的測試類別將作為死程式碼包含在生產 JAR 中。

更改Java版本

如今,Java 發展迅速,每六個月就會發布新版本。 JeKa提供了一個非常方便的Java版本之間切換的方式。只需在 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 {
    ...
}
登入後複製
登入後複製

這將在下一次應用程式編譯或執行期間自動安裝 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中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板