JeKa는 단순성에 초점을 맞춘 최신 Java 빌드 도구입니다.
Java를 시작할 때 개발자는 일반적으로 코드 몇 개를 작성하고 컴파일하고 실행하기만 하면 됩니다. 그러나 다른 사람들이 재사용할 수 있는 유용한 Java 애플리케이션이나 라이브러리를 만드는 것만으로는 충분하지 않습니다. Java로 실용적인 것을 구축하려면 다음을 수행해야 합니다.
이 작업은 Maven 또는 Gradle과 같은 기존 빌드 도구를 사용하여 수행되는 경우가 많습니다. 이러한 도구는 상당한 학습이 필요하며 지루한 구성이 필요할 수 있습니다.
더 간단한 대안은 거의 단일 파일 Java 앱을 작성하고 쉽게 공유할 수 있는 Jbang입니다.
반면에 Jeka는 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와 동기화하려면 다음을 실행하세요.
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
애플리케이션 대신 라이브러리를 작성하려면 Maven 저장소에 게시하기 위해 moduleId와 버전 관리를 모두 선언해야 합니다.
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는 6개월마다 새로운 릴리스가 출시되면서 빠르게 발전하고 있습니다. 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 코드를 작성할 수도 있습니다. jeka.properties 파일에서 사용하려는 Kotlin 버전을 지정하세요.
@base.moduleId=org.example:my-lib @base.version=1.0.0-SNAPSHOT
이제 아래와 같이 Kotlin 코드를 편집하고 코드베이스의 기존 Java 코드와 원활하게 통합하거나 100% Kotlin 애플리케이션을 만들 수도 있습니다.
jeka maven: publish
Jeka는 기존 빌드 도구의 부담 없이 실제 Java 애플리케이션 작성을 시작할 수 있는 실용적인 모드를 제공합니다.
다형성 구조를 통해 단순성을 희생하지 않으면서도 점차 증가하는 복잡성과 크기를 처리할 수 있습니다.
자원:
위 내용은 JeKa: 실제로 Java를 시작하는 가장 간단한 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!