Spring Boot Maven pom.xml-Eintrag

matze86

Bekanntes Mitglied
Hallo, ich habe mit Spring-Boot in Eclipse ein Maven-Projekt geöffnet, ich brauch die Abhängigkeiten "javax.persistence", heißt ich brauche jpa.
Laut Repository muss ich in der pom.xml folgendes eintragen:
XML:
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-jpa -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
    <version>3.0.0</version>
</dependency>

Trotzdem bleibt der Fehler das es nicht gefunden wurde beim Import.
Muss ich da noch irgend etwas aktualisieren?
 

LimDul

Top Contributor
In Spring Boot 3 dürfte es javax.persistence nicht mehr geben. Das ist dann alles jakarta.persistence.

Wichtig ist, dass in einem Projekt man nur eine JavaEE Version verwendet. Das heißt nichts mischt.
In Spring Boot ist das relativ einfach, wenn man bei der Spring-Boot Parent POM bleibt. Da darf man einfach nie Versionen beim einbinden von dependencies angeben, sondern nimmt immer die vorgebene Version aus dem Dependency Management.
 

KonradN

Super-Moderator
Mitarbeiter
Das Thema ist doch jetzt zum dritten Mal hier im Forum... Werden jetzt Spring Boot 2.x Anleitungen mit Spring Boot 3 genutzt?

Wenn Du unbedingt javax.persistence nutzen willst (Wieso eigentlich?), dann bleib bei Spring Boot 2.x!

Wenn Du ein aktuelles Spring Boot nutzen willst, dann übernimm nicht Dinge blind, die für alte Versionen gemacht wurden. Und von Spring 2.x zu Spring Boot 3 ist schon ein großer Schritt. Da hat es einiges gegeben - einen ersten Hinweis findest Du zu meinem Post zu Spring 6 (Darauf basiert Spring Boot 3) - so Dinge wie der Wechsel zu Jakarta EE 9 (Womit der Wechsel von javax -> jakarta kam).

UNd noch ein wichtiger Hinweis: Wenn eine Klasse nicht gefunden wird: vernünftige IDEs bieten Dir da an, dass Klassen importiert werden. Da sollte dann die IDE jakarta.persitence vorschlagen als Lösung.
 

matze86

Bekanntes Mitglied
Es handelt sich um Spring Boot 3. Ich möchte ein Rest erstellen siehe diesen Thread. Ich wollte zum Import ein neuen Thread zur besseren Übersichtlichkeit aufmachen.

Ich habe mir schon unzählige Anleitungen angeschaut, aber fast jede Anleitung ist anders. Und da wurde die Annotation
Java:
@Entity
mit javax.persistence importiert.

Vielleicht hat jemand eine aktuelle Anleitung für Rest mit Spring Boot 3, die auch zeigt wie man Daten von der Datenbank holt, schickt (mit post, get, delete u.s.w.). Und auch wie man eventuell dann diese Authentifizierung vor nimmt.
 

KonradN

Super-Moderator
Mitarbeiter
Die Lösung ist ganz einfach:
Ändere den Import von javax.persistence zu jakarta.persistence

Das wäre noch einmal in ganz kurz eben genau die Lösung zu dem Problem.

Und Spring Boot 3 ist extrem neu - noch kein Monat draußen. Wenn Du dieses umsetzen nicht willst, dann bleib bei Spring 2.7.2. Oder schau direkt auf spring.io nach der Dokumentation dort.
 

LimDul

Top Contributor
Merker: Solange man nicht genau weiß was man tut - in einer POM, die den Spring Boot Parent verwendet, niemals Dependencies mit Versionen ergänzen. Immer ohne Version.

Wie sieht deine POM aus?
 

matze86

Bekanntes Mitglied
Meine pom.xml sieht so aus:
XML:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.0.0</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>de.resttest</groupId>
    <artifactId>matze</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>matze</name>
    <description>das ist ein test fuer rest</description>
    <properties>
        <java.version>17</java.version>
    </properties>
    <dependencies>
    
            <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!-- https://mvnrepository.com/artifact/com.mysql/mysql-connector-j -->
    <dependency>
        <groupId>com.mysql</groupId>
        <artifactId>mysql-connector-j</artifactId>
        <version>8.0.31</version>
    </dependency>
        
        
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>
 

khmarbaise

Mitglied
Wenn Du mit Spring Boot 3.0.0 arbeiten musst/willst, dann musst Du Jakarta imports für die Entities verwenden...

Java:
package entities;

import jakarta.persistence.Entity;
import jakarta.persistence.EnumType;
import jakarta.persistence.Enumerated;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;

@Entity
class Employee {

  @Id
  @GeneratedValue
  private Integer id;

  private String firstName;

  private String surname;

  @Enumerated(EnumType.STRING)
  private EmployeeType type;

...
}

Weiterhin entferne die Version von mysql, da die Version bereits durch den Parent entsprechend gesetzt ist. Man sollte die Versionen nur in dem Fall überschreiben, wenn man ganz genau weiß was man macht..

Die Spring Boot Version 3.0.0 wurden schon mit den Milestone Versionen und die RC versionen https://github.com/spring-projects/...otes/ecd6d1ce3a5c6654acfe4f39c4a7fa5faf7e3499

Die Erste 3.0.0-M1 Version gibt es seit März 2022...

Im Falle, der Verwendung einer neuer Major Release sollte man genauer einen Blick in die Release Notes bzw. Migrationsanleitungen werfen:


BTW: Als Startpunkt wird ich in solchen Fällen via Initializr gehen: https://start.spring.io/
 

mihe7

Top Contributor
Das ist dann alles jakarta.persistence.
Da sollte dann die IDE jakarta.persitence vorschlagen als Lösung.
Ändere den Import von javax.persistence zu jakarta.persistence
Wenn Du mit Spring Boot 3.0.0 arbeiten musst/willst, dann musst Du Jakarta imports für die Entities verwenden...
Hm... nach reiflicher Überlegung bin ich geneigt zu behaupten, dass es im Bereich des Möglichen liegt, die Verwendung von jakarta.persistence unter Spring Boot 3 durchaus als hilfreich zu erachten.
 

khmarbaise

Mitglied
Hm... nach reiflicher Überlegung bin ich geneigt zu behaupten, dass es im Bereich des Möglichen liegt, die Verwendung von jakarta.persistence unter Spring Boot 3 durchaus als hilfreich zu erachten.
Hm.. mir ist nicht klar, was es da zu überlegen gibt. Entweder man geht den Weg zu Spring Boot 3.0.0+ oder eben nicht. Wenn nicht bleibt noch eventuell etwas Zeit, genau genommen bis November 2023. Danach wird es halt schwieriger, eben nur noch gegen Bezahlung (https://spring.io/projects/spring-boot#support).

Spring Boot 3.0.0 ist eine Major Release und somit u.U. inkompatible mit vorheringen Versionen (Abgesehen davon ist die Migration von aktuellen Spring Boot Versionen 2.7.6 nicht wirklich sehr propblematisch. Das setzt selbstverständlich voraus, dass man bisher auch schon immer wieder aktualisiert hat und entsprechende Tests mit Abdeckung usw. hat, außer man hat sich extrem in die Internas von Spring reingehängt)... Das ist nun mal der Weg... Java EE ist nun mal nicht mehr wirklich Zukunftsträchtig... sondern Jakarta EE...

Auszug aus den Release Notes:
Spring Boot 3.0 has migrated from Java EE to Jakarta EE APIs for all dependencies. Wherever possible, Jakarta EE 10 compatible dependencies have been chosen, including:
Weiterhin gibt es entsprechende Dokumentationen für Upgrades etc.
 

matze86

Bekanntes Mitglied
Nachdem ich jetzt in der pom.xml
XML:
<dependency>
          <groupId>jakarta.persistence</groupId>
          <artifactId>jakarta.persistence-api</artifactId>
    </dependency>
hinzugefügt habe, ist die Abhängigkeit 'jakarta.persistence' auch in Maven Dependencies eingetragen.

Wenn ich jetzt @Entity eingebe, dann schlägt mir Eclipse den Import von 'jakarta.persistence.Entity' vor, soweit alles gut es wird auch importiert.

Allerdings danach wird bei Entity immer noch ein Fehler angezeigt (Entity kann nicht in einen Typ aufgelöst werden), worauf es wieder importieren vorschlägt. seltsam.
 

LimDul

Top Contributor
Tipp: Nimm dir mal Zeit und versuche mal zu verstehen, was du da tust. Schmeiß die Dependency, die du hinzugefügt hast, wieder raus und mach es richtig. Lies dir mal durch, was Spring Boot Starter sind und wie Spring Boot aufgebaut ist. Wenn du mit JPA arbeiten willst, nimmst du nicht die jakarta-persistence depdency sondern den starter für jpa. Schau dir z.B. die POM die ich oben verlinkt habe oder erzeug dir über den spring initializer eine POM.
 

Oneixee5

Top Contributor
Abgesehen davon ist die Migration von aktuellen Spring Boot Versionen 2.7.6 nicht wirklich sehr propblematisch.
Na du bist ja optimistisch! Es sind nicht nur die Packages. Spring Cloud etc. sind noch RC's. Es gibt Änderungen für Hibernate, Security usw... Eureka ist die Hölle, ...Spring6NotImplementedException's.... Ich bin schon 3 Tage an 26 Microservices incl. Cloud. Ich sehe noch keine richtiges Ende und an die Tests denke ich noch gar nicht.
Das Projekt soll Mitte-Januar in Produktion gehen und der Kunde wünscht für den Start die neuesten Versionen. Das sehe ich noch nicht so. Ein paar frei Tage hätte ich auch gern über den Jahreswechsel.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
8u3631984 Ausführbare Jar aus Multi-Module Spring Boot Projekt bauen Tools - Maven, Gradle, Ant & mehr 1
Oneixee5 Maven Deployment eines Spring-Boot.jar Tools - Maven, Gradle, Ant & mehr 0
K Spring JUnit Test: Code / Strukturierung / Beratung Tools - Maven, Gradle, Ant & mehr 5
thor_norsk Maven Build Failed: kann nicht von start.spring.io generiertes Projekt auf IntelliJ IDE starten Tools - Maven, Gradle, Ant & mehr 8
8u3631984 Problem auf Github mit Umstellung auf Spring 3 Tools - Maven, Gradle, Ant & mehr 4
R Spring Sicherheitslücke Tools - Maven, Gradle, Ant & mehr 2
ExceptionOfExpectation Maven Build Failed: kann nicht von start.spring.io generiertes Projekt auf Eclipse starten Tools - Maven, Gradle, Ant & mehr 20
von Spotz Maven und Spring: "Add to classpath" ? Tools - Maven, Gradle, Ant & mehr 29
Oneixee5 Maven deploy - per SSH Tools - Maven, Gradle, Ant & mehr 6
H Maven kein Hauptmanifestattribut Tools - Maven, Gradle, Ant & mehr 10
M Programm mit Maven erstellen und starten samt Abhängigkeiten Tools - Maven, Gradle, Ant & mehr 27
D Interne Dependencies in Maven Tools - Maven, Gradle, Ant & mehr 51
J log4j2 mit Hibernate über Maven Tools - Maven, Gradle, Ant & mehr 10
H Maven JUnit5 Tests werden ignoriert Tools - Maven, Gradle, Ant & mehr 5
thor_norsk Maven Tools - Maven, Gradle, Ant & mehr 32
Ich kann Maven nicht als UmgebungsVariable hinzufügen Tools - Maven, Gradle, Ant & mehr 2
F Maven JAR Plugin Probleme Tools - Maven, Gradle, Ant & mehr 4
W Was "braucht" man denn alles? Maven, Ant, Git, ... Tools - Maven, Gradle, Ant & mehr 21
N Fehler beim Imgui mit Maven Tools - Maven, Gradle, Ant & mehr 7
Encera JavaFX und Maven funktioniert nicht Tools - Maven, Gradle, Ant & mehr 1
B maven multi module Projekt und unnötige/zusätzliche Leerzeilen Tools - Maven, Gradle, Ant & mehr 4
J Maven Konfusion Tools - Maven, Gradle, Ant & mehr 7
Tippster Maven Sqlite integrieren (Eclipse, Maven) Tools - Maven, Gradle, Ant & mehr 4
T Image kreieren mit Maven bei JavaFX und nicht modularen Jars Tools - Maven, Gradle, Ant & mehr 12
T JSON Dependencies in Maven Tools - Maven, Gradle, Ant & mehr 7
T JavaFX, Jar über Maven kreieren Tools - Maven, Gradle, Ant & mehr 2
Encera Libraries Maven Projekt hinzufügen Tools - Maven, Gradle, Ant & mehr 9
Oneixee5 Maven Phase Tools - Maven, Gradle, Ant & mehr 3
Robertop maven copy-resources nicht in WAR Datei Tools - Maven, Gradle, Ant & mehr 2
T Maven: Probleme beim Einbinden der Dependencies Tools - Maven, Gradle, Ant & mehr 9
M Mit Maven eine jar Datei bauen ohne irgendeine main Methode Tools - Maven, Gradle, Ant & mehr 1
M Mit Maven eine jar Datei Bauen ohne irgendeine main Methode Tools - Maven, Gradle, Ant & mehr 18
H Maven Maven: <mainClass>NAME?</mainClass> Tools - Maven, Gradle, Ant & mehr 13
H Maven maven-source-plugin is missing Tools - Maven, Gradle, Ant & mehr 5
M Missing Artifact on selbst gehostestes Maven Paket Tools - Maven, Gradle, Ant & mehr 8
M Error code 409 maven Tools - Maven, Gradle, Ant & mehr 5
M github + maven Fehler beim repository erstellen Tools - Maven, Gradle, Ant & mehr 1
M durch Maven wird "var" nicht gefunden Tools - Maven, Gradle, Ant & mehr 4
N Maven Intellij Maven Projekt erstell keine src Tools - Maven, Gradle, Ant & mehr 4
LimDul Maven Einzelne Unit Tests in Maven Builds skippen Tools - Maven, Gradle, Ant & mehr 3
M Maven jpackage-image wird nicht gefunden Tools - Maven, Gradle, Ant & mehr 22
M javafx wird in einem alten programm nicht bei maven gefunden Tools - Maven, Gradle, Ant & mehr 15
L Maven IntelliJ, Maven und JavaFX + SceneBuilder Tools - Maven, Gradle, Ant & mehr 23
Kirby.exe Projekt mit Maven kompilieren Tools - Maven, Gradle, Ant & mehr 13
P Maven Projekt Abhängigkeiten auf bekante Schwachstellen prüfen Tools - Maven, Gradle, Ant & mehr 4
H Maven dependency Problem ? Tools - Maven, Gradle, Ant & mehr 23
B Maven und Intellij Tools - Maven, Gradle, Ant & mehr 24
P Maven Test werden nicht ausgeführt . Junit . Maven . Surefire . Eclipse Tools - Maven, Gradle, Ant & mehr 12
yakazuqi Maven Eigene API mit Maven einbinden Tools - Maven, Gradle, Ant & mehr 1
M Was ist besser für den Anfang, Maven oder Gradle? Tools - Maven, Gradle, Ant & mehr 6
P Maven Wie die Maven Project version in JSP page verwenden? Tools - Maven, Gradle, Ant & mehr 2
C Maven Multi-Module Projekt Tools - Maven, Gradle, Ant & mehr 2
T Maven Warnings/Fehlermeldungen Tools - Maven, Gradle, Ant & mehr 12
T Maven und Datenbank(treiber) Tools - Maven, Gradle, Ant & mehr 13
T Maven Runnable Jar Tools - Maven, Gradle, Ant & mehr 5
T Grundlagen Maven und Git/Github Tools - Maven, Gradle, Ant & mehr 2
LimDul Maven Maven Surefire Plugin - Warnings upgrade Tools - Maven, Gradle, Ant & mehr 2
G Maven upload Tools - Maven, Gradle, Ant & mehr 0
K Maven - Parent oder Dependency? Tools - Maven, Gradle, Ant & mehr 5
B Maven Maven deploy Tools - Maven, Gradle, Ant & mehr 4
H Jenkins keine Tests gefunden - aber in Maven Tools - Maven, Gradle, Ant & mehr 30
P Mit Maven einen spezifischen Branch nach Tag-Parameter erstellen (in Jenkins-Job) Tools - Maven, Gradle, Ant & mehr 3
P Nur einen Teilbaum in Maven releasen? Tools - Maven, Gradle, Ant & mehr 7
D Cannot invoke "javafx.scene.control.MenuButton.getScene()" nach konvertierung zu maven Tools - Maven, Gradle, Ant & mehr 3
H Maven - keine Durchführung von Tests Tools - Maven, Gradle, Ant & mehr 12
H Jenkins - maven-jar-plugin - kein jar-file Tools - Maven, Gradle, Ant & mehr 38
P JavaFX jar mit Maven Tools - Maven, Gradle, Ant & mehr 9
P Maven & Intellij Modul kann nicht aufgelöst werden Tools - Maven, Gradle, Ant & mehr 12
H Eclipse JUnit erzeugt Fehler im Maven-Test Tools - Maven, Gradle, Ant & mehr 1
H Maven Anfängerproblem - No plugin found for prefix 'archetype' in the current project and in the plugin groups Tools - Maven, Gradle, Ant & mehr 25
sascha-sphw Maven vs Gradle Tools - Maven, Gradle, Ant & mehr 24
D Maven Maven und die Build-Geschwindigkeit Tools - Maven, Gradle, Ant & mehr 11
K Maven IntelliJ + Maven + JavaFX Tools - Maven, Gradle, Ant & mehr 2
J Maven Mit Maven eine ZIP Datei erstellen Tools - Maven, Gradle, Ant & mehr 0
K Maven install schlägt fehl Tools - Maven, Gradle, Ant & mehr 10
I Problem: Maven import extern Lib Tools - Maven, Gradle, Ant & mehr 3
Tom299 Maven Maven funktioniert nach Installation nicht Tools - Maven, Gradle, Ant & mehr 1
I Maven Interface hinzugefügt - Error Tools - Maven, Gradle, Ant & mehr 1
M Verständnisfrage Maven Tools - Maven, Gradle, Ant & mehr 2
S Maven installieren - "Befehl wurde nicht gefunden" Tools - Maven, Gradle, Ant & mehr 1
E Maven: Wie Abhängigkeiten analysieren? Tools - Maven, Gradle, Ant & mehr 0
E Maven Maven distributionManagement Vererbung in child POM Tools - Maven, Gradle, Ant & mehr 8
P Maven Parent- Child POMs Tools - Maven, Gradle, Ant & mehr 13
E Release Kandidaten mit Maven bauen Tools - Maven, Gradle, Ant & mehr 4
C Orderstruktur bei Libarys - Wie mit Ant oder Maven lösen? Tools - Maven, Gradle, Ant & mehr 0
G Maven, finde Dependency nicht... Tools - Maven, Gradle, Ant & mehr 2
G Maven Continious Integration mit Jenkins, Maven und Nexus - wie richtig? Tools - Maven, Gradle, Ant & mehr 1
P Maven Parent und Child Poms - dependencies Tools - Maven, Gradle, Ant & mehr 1
reibi Maven Maven + Eclipse Tools - Maven, Gradle, Ant & mehr 0
P Maven add resource Tools - Maven, Gradle, Ant & mehr 0
D [Maven Pluginentwicklung] - Plugin das nur auf Parent pom läuft Tools - Maven, Gradle, Ant & mehr 0
S Maven Maven und Auflösen von JSF EL Tools - Maven, Gradle, Ant & mehr 5
H Maven HSQLDB in den Maven lifecycle einbinden Tools - Maven, Gradle, Ant & mehr 5
S Maven Unterschiedliche Deployments mit Maven Tools - Maven, Gradle, Ant & mehr 2
S Maven buildnumber-maven-plugin / Formatproblem mit timestamp Tools - Maven, Gradle, Ant & mehr 17
P Erzeugen von WebServices mit Maven und Eclipse (external Tool) Tools - Maven, Gradle, Ant & mehr 2
aze Maven downgraden von 3.x auf 2.09 unter Linux Tools - Maven, Gradle, Ant & mehr 4
Rudolf JSF und Maven mit Eclipse Tools - Maven, Gradle, Ant & mehr 5
M Maven-Dependency kann nicht gefunden werden Tools - Maven, Gradle, Ant & mehr 2
M Maven imports aus Modulen Tools - Maven, Gradle, Ant & mehr 4

Ähnliche Java Themen

Neue Themen


Oben