Heim > Java > javaLernprogramm > JeKa: Der einfachste Weg, mit Java for Real zu beginnen

JeKa: Der einfachste Weg, mit Java for Real zu beginnen

Susan Sarandon
Freigeben: 2025-01-06 20:13:50
Original
591 Leute haben es durchsucht

JeKa: The Simplest Way to Start with Java for Real

JeKa ist ein modernes Java-Build-Tool, das auf Einfachheit ausgerichtet ist.

Wenn Entwickler mit Java beginnen, schreiben sie normalerweise einfach Code, kompilieren ihn und führen ihn aus. Dies reicht jedoch nicht aus, um nützliche Java-Anwendungen oder -Bibliotheken zu erstellen, die andere wiederverwenden können. Um etwas Praktisches in Java zu erstellen, müssen wir:

  • Verwenden Sie Bibliotheken von Drittanbietern (z. B. Guava, Gson, Commons CLI usw.)
  • Verpacken und bereitstellen Sie die Anwendung/Bibliothek, damit andere sie verwenden können.

Dies geschieht oft mit traditionellen Build-Tools wie Maven oder Gradle. Diese Tools erfordern umfangreiches Lernen und können eine langwierige Konfiguration erfordern.
Eine einfachere Alternative ist JBang, mit der Sie Java-Apps mit fast nur einer Datei schreiben und diese problemlos teilen können.

Auf der anderen Seite bietet Jeka eine einfache Abhängigkeitsverwaltung und -bereitstellung à la JBang und ermöglicht Ihnen gleichzeitig die Erstellung von Standardanwendungen oder Bibliotheken mit mehreren Klassen, einschließlich der entsprechenden Tests.

Erstellen Sie eine neue Codebasis

Voraussetzung:Jeka muss installiert sein.

Tipp: Um die verfügbaren Optionen aufzulisten, führen Sie Folgendes aus: jeka base: --doc.

Um eine Basisstruktur zu erstellen, die sofort mit dem Codieren beginnen kann, führen Sie Folgendes aus:

jeka base: scaffold scaffold.kind=APP
Nach dem Login kopieren
Nach dem Login kopieren

Sie erhalten die folgende Projektstruktur:

. 
├── 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
Nach dem Login kopieren
Nach dem Login kopieren

Ihr gesamter Java-Code sollte sich im Ordner jeka-src befinden.

_dev ist ein spezielles Paket für Quellcode und Abhängigkeiten, das nur für die Entwicklung (z. B. Tests, Builds) verwendet wird. Wenn Sie neu bei Java sind, können Sie es ignorieren oder löschen.

Das Gerüstbeispiel enthält eine App-Klasse im app-Paket. Sie können Klassen in jedem beliebigen Paket hinzufügen oder ändern.

Mit IntelliJ synchronisieren

Um mit IntelliJ zu synchronisieren, führen Sie Folgendes aus:

jeka intellij: iml --force
Nach dem Login kopieren
Nach dem Login kopieren

Wenn Änderungen nicht in IntelliJ angezeigt werden, gehen Sie zum Stammverzeichnis des Projekts und führen Sie Folgendes aus: jeka intellij: initProject.

Abhängigkeiten hinzufügen

Die Klasse App.java deklariert eine @JkDep-Annotation, um auf eine Bibliothek zu verweisen. Sie können beliebig viele Bibliotheken hinzufügen. Eine gute Vorgehensweise besteht darin, alle Bibliotheken in derselben Basisklasse zu deklarieren.

@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) {
        ...
    }
}
Nach dem Login kopieren
Nach dem Login kopieren

Siehe Details zu Abhängigkeitsnotationen.

Darüber hinaus können Sie JAR-Dateien kopieren und in das folgende Verzeichnis einfügen, um sie automatisch als Abhängigkeiten einzuschließen:

├── jeka-boot      <- Jars included in the production classpath.
Nach dem Login kopieren
Nach dem Login kopieren

Nicht-Produktabhängigkeiten deklarieren

Deklarieren Sie die Abhängigkeit von jeder Klasse im _dev-Paket, um die Abhängigkeit durch die Einbettung in die Produktion hinzuzufügen.

package _dev;

@JkDep("org.junit.jupiter:junit-jupiter:5.11.4")
@JkDep("org.mockito:mockito-junit-jupiter:5.15.2")
class Build extends KBean {
    ...
}
Nach dem Login kopieren
Nach dem Login kopieren

Erinnerung: Vergessen Sie nicht, jeka intellij: iml auszuführen, sobald Sie die Abhängigkeiten geändert haben.

Führen Sie Ihre Anwendung aus

Die Anwendung kann ausgeführt werden mit:

jeka base: scaffold scaffold.kind=APP
Nach dem Login kopieren
Nach dem Login kopieren

Um die Kompilierung vor dem Start zu bereinigen, verwenden Sie die Option --clean (kurz -c).

Wenn dieser Quellcode in einem Git-Repository gehostet wird, kann die Anwendung direkt ausgeführt werden, indem das Repository folgendermaßen referenziert wird:

. 
├── 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
Nach dem Login kopieren
Nach dem Login kopieren

Erstellen Sie eine Bibliothek

Wenn Sie anstelle einer Anwendung eine Bibliothek schreiben möchten, müssen Sie sowohl moduleId als auch die Versionierung deklarieren, um sie in einem Maven-Repository zu veröffentlichen:

jeka intellij: iml --force
Nach dem Login kopieren
Nach dem Login kopieren

Jetzt können Sie Ihre Bibliothek veröffentlichen, indem Sie Folgendes ausführen:

@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) {
        ...
    }
}
Nach dem Login kopieren
Nach dem Login kopieren

Testen Sie Ihren Code

Der Gerüstcode enthält bereits eine _dev.test.MyTest-Testklasse, die zur Ausführung bereit ist.

├── jeka-boot      <- Jars included in the production classpath.
Nach dem Login kopieren
Nach dem Login kopieren

Sie können in jedem beliebigen Paket weitere Tests hinzufügen. Beachten Sie jedoch, dass Testklassen, die sich nicht im _dev-Paket (oder seinen Unterpaketen) befinden, als toter Code in die Produktions-JAR aufgenommen werden.

Java-Version ändern

Heutzutage entwickelt sich Java rasant weiter, mit neuen Releases alle sechs Monate. JeKa bietet eine sehr bequeme Möglichkeit, zwischen Java-Versionen zu wechseln. Geben Sie einfach die Version in der Datei jeka.properties an:

package _dev;

@JkDep("org.junit.jupiter:junit-jupiter:5.11.4")
@JkDep("org.mockito:mockito-junit-jupiter:5.15.2")
class Build extends KBean {
    ...
}
Nach dem Login kopieren
Nach dem Login kopieren

Dadurch wird JDK 23 automatisch beim nächsten Kompilieren oder Ausführen der Anwendung installiert.

Vordefinierte Build-Befehle

Jeka stellt unter anderem die folgenden Befehle zur Verfügung:

jeka --program arg0 args1 ... # or `jeka -p` for short
Nach dem Login kopieren

Andere Befehle:

jeka --remote [git repo url] --program arg0 arg1 ... # or jeka -r [git repo url] -p
Nach dem Login kopieren

Wechseln Sie zur vollständigen Projektstruktur

Da die Codebasis wächst, wird es für Sie möglicherweise komfortabler sein, eine vollständige Projektstruktur zu verwenden.
Der Wechsel zu einem Projekt ist einfach. Um herauszufinden, wie das geht, besuchen Sie das Build Projects Tutorial.

Code mit Kotlin

Sie können auch Kotlin-Code in die Codebasis schreiben. Geben Sie einfach die Kotlin-Version an, die Sie in der Datei jeka.properties verwenden möchten:

@base.moduleId=org.example:my-lib
@base.version=1.0.0-SNAPSHOT
Nach dem Login kopieren

Jetzt können Sie den Kotlin-Code wie unten gezeigt bearbeiten, ihn nahtlos in den vorhandenen Java-Code in Ihrer Codebasis integrieren oder sogar eine 100 % Kotlin-Anwendung erstellen:

jeka maven: publish
Nach dem Login kopieren

Abschluss

Jeka bietet einen praktischen Modus, um mit dem Schreiben realer Java-Anwendungen zu beginnen, ohne die Last herkömmlicher Build-Tools.

Seine polymorphe Struktur ermöglicht den schrittweisen Umgang mit zunehmender Komplexität und Größe, ohne auf Einfachheit zu verzichten.

Ressourcen:

  • Jeka
  • Einfaches App-Beispiel
  • Beispiel für eine Spring-Boot-App
  • Build Base Tutorial
  • Andere Beispiele

Das obige ist der detaillierte Inhalt vonJeKa: Der einfachste Weg, mit Java for Real zu beginnen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage