首页 > 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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板