@PostConstruct Annotation nicht mehr gültig ?

  • Themenstarter Themenstarter Gelöschtes Mitglied 49152
  • Beginndatum Beginndatum
G

Gelöschtes Mitglied 49152

Gast
Hi,
ich muss nach 5 Jahren Krankheit in schnellster Zeit alles wieder aufholen was ich nur kann, Dazu habe ich ein altes Script genommen und bin es durchgegangen. Eines der Probleme ist dass ich eine Methode mit @PostConstruct versehen habe, und es diese Annotation in dem Paket javax.annotation.PostConstruct welches ich importiert habe nicht mehr gibt. Leider habe ich auch keine Seite gefunden in der angegeben wird wie die Annotation, die es ja anscheinent noch gibt, nun eingebunden wird. Auch eine Alternative aus Spring wäre möglich.
 
Java EE hat Oracle an die Eclipse Foundation gegeben. Aber Oracle hat der Community untersagt, die Package Namen weiter zu verwenden.

Daher ist das javax furch jakarta ersetzt und du wirst daher vermutlich einfach nur den Eintrag ändern müssen auf
import jakarta.annotation.PostConstruct;

Die Annotation als solche gibt es aber weiter.

Edit: Community durch Eclipse Foundation ersetzt um es präziser zu machen.
 
Wobei das natürlich erst relevant ist, wenn man auf Jakarta EE 9 umsteigt, wenn man bei Java EE/Jakarta EE 8 oder kleiner bleibt, gibts da keine Änderung.
Und wenn man umsteigt, dann sollte es an jeder Stelle Fehler geben, javax.annotation.PostConstruct ist dann noch das kleinste Problem.


Von daher wäre es auch grundsätzlich interessant, welche und wie du diese Dependeny eingebunden hast.
 
das Projekt ist wie gesagt schon mehrere Jahre alt bisher habe ich nur wenige Klassen aufgerufen, und nur das PostConstruct wurde bisher von Idea bemängelt.
Java:
package holidaymanager.database.util;

import javax.annotation.PostConstruct;
import holidaymanager.backend.service.EmployeeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class InitDatabase {
  @Autowired
  private EmployeeService employeeService;

  @PostConstruct
  public void init() {
    employeeService.checkValidUser();
  }
}
Dass das ausgerechnet an Eclipse gegangen ist ist natürlich übel, bezieht sich das auch alle Paketnamen die zu Java gehören ? Hört sich an als würde man um den Mist garnicht drumrumkommen ? Dann ist es wohl sinnvoller die paar Vorkenntnisse in C# noch etwas zu vertiefen. Ist zwar erstmal ein harter Schlag dass die lange Zeit in der ich mich mit Java beschäftigt hab für die Katz waren. Vor allem da ich meine IHK Prüfung nun vergessen kann, meine Kenntnisse in C# reichen nicht aus und mit php kann man kein Projekt erstellen.

Dennoch vielen Dank für die Info 🙂 Auch wenn es eine so schlechte ist.
 
das Projekt ist wie gesagt schon mehrere Jahre alt bisher habe ich nur wenige Klassen aufgerufen, und nur das PostConstruct wurde bisher von Idea bemängelt.
Das liegt nicht an der von @kneitzel genannten Umstellung. Spring setzt weiterhin auf Java EE/Jakarta EE 8, dort hat sich der Package-Name nicht geändert.


Dass das ausgerechnet an Eclipse gegangen ist ist natürlich übel, [...] Hört sich an als würde man um den Mist garnicht drumrumkommen ?
Was ist daran "übel" und "Mist"?

bezieht sich das auch alle Paketnamen die zu Java gehören
Nein, das gilt nur für Java EE, was an die Eclipse Foundation übergeben wurde und dort als Jakarta EE weitergeführt wird, und auch dort erst ab Jakarta EE 9.

Ist zwar erstmal ein harter Schlag dass die lange Zeit in der ich mich mit Java beschäftigt hab für die Katz waren. Vor allem da ich meine IHK Prüfung nun vergessen kann, meine Kenntnisse in C# reichen nicht aus und mit php kann man kein Projekt erstellen.

Dennoch vielen Dank für die Info 🙂 Auch wenn es eine so schlechte ist.
Ich glaube du missverstehst da etwas gewaltig.

Alles, was vor 5 Jahre funktionierte, funktioniert jetzt genauso, ohne jede Änderung. Die Migration von Java EE 8 zu Jakarta EE 9 ist, wenn man sie macht, nur eine Umbenennung der Artifact- und Package-Namen, sonst hat sich daran für Entwickler nichts geändert.

Und auch an der Fortführung des ganzen wird sich kaum etwas ändern, der Prozess dahinter bleibt nahezu gleich, die beteiligten Firmen und Personen bleiben größtenteils die gleichen. Es gibt kaum etwas, was stabiler als Java und JavaEE/JakartaEE ist.
Wenn, ist es eine positive Entwicklung, dass das ganze weg von Oracle und hin zu einer freien Community gewandert ist.
 
Es ist doch egal ob alte Versionen unter Sun laufen, ich möchte nicht absichtlich alte Versionen nutzen damit ich Eclipse meiden kann. Und ich kann mit nicht vorstellen dass wenn die erstmal ihre Griffel draufhaben dass nicht noch ausnutzen. Ich war mit Oracle sehr zufrieden, wer es anders haben will kann ja machen was er möchte.

Sorry, Ich habe erst jetzt gesehen dass du Moderator bist.
 
Das klingt alles sehr verwirrt, was du schreibst.

Sun ist da seit Jahren raus, die haben damit nichts mehr zu tun. Und die „alten Versionen“ meint in dem Fall Versionen bis letzten Oktober, das ist für Java EE alles andere als Alt.

damit ich Eclipse meiden kann
Welchen Grund gibt es denn, Projekte der Eclipse Foundation zu meiden?

Und ich kann mit nicht vorstellen dass wenn die erstmal ihre Griffel draufhaben dass nicht noch ausnutzen. Ich war mit Oracle sehr zufrieden
Du hast bei einer gemeinnützigen Organisation Sorgen, dass die da irgendwas ausnutzen, aber Oracle als gewinnorientiertes Unternehmen, welches genau das schon oft genug getan hat, ist gut? 😵
Und wie sollen die das auch ausnutzen? Geld dafür verlangen (was sie nicht dürfen, im Gegensatz zu Oracle), die Entwicklung in merkwürdig Richtungen treiben (was sie nicht können, allein schon durch die anderen Beteiligten)?

Abgesehen davon ist Oracle natürlich weiterhin an der Entwicklung beteiligt, genau wie alle anderen Firmen, die bisher an Java EE beteiligt waren.

wer es anders haben will kann ja machen was er möchte.
Natürlich, aber zumindest sollte man dann einfach eine minimale Begründung parat haben, mindestens aus Höflichkeit 😉

Sorry, Ich habe erst jetzt gesehen dass du Moderator bist.
Na und? Das bedeutet weder, dass ich recht hab, noch, dass meine Meinung irgendwie „besser“ wäre, noch, dass man mit mir nicht diskutieren oder mir widersprechen darf 😉
 
Also da melde ich mich jetzt noch einmal (@mrBrown hat ja schon einiges klargestellt):

Bei meiner Antwort bin ich davon ausgegangen, dass Du irgendwelche Abhängigkeiten aktualisiert hast. Dann kannst Du auf die von mir benannte Problematik stoßen.

Da Du dies aber nicht gemacht hast, dürfte das Problem eher an fehlenden Abhängigkeiten liegen. Da müsstest Du einfach mal schauen, auf was das Projekt so zugreifen muss um dann die fehlenden jars mit einzubinden.

Bezüglich Sympathien und Antipathien möchte ich nur anmerken, dass die Eclipse Foundation bisher nicht durch Klagen aufgefallen ist. Bei Oracle habe ich als Nutzer generell ein mulmiges Gefühl, denn Oracle scheint alles und jeden zu verklagen, wo die eine Chance sehen. Und Oracle ist in meinen Augen ein Leichengräber und nichts anderes. Und zum Glück sind sie gescheitert bei Ihrem Versuch, APIs zu schützen.

Die Eclipse Foundation hat ansonsten auch ein paar große Mitstreiter. IBM ist da z.B. sehr aktiv.

Vor allem da ich meine IHK Prüfung nun vergessen kann,
Also spätestens da komme ich nicht mehr mit. Du musst später so oder so über Deinen Sympathien und Antipathien stehen! Im Berufsleben wird ein professioneller Umgang erwartet. Ob Du nun Oracle magst oder nicht. Ob Dir ein Kollege sympathisch ist oder nicht ... Wenn es da gewisse Anforderungen gibt, dann ist dies halt so und dann stehen so Dinge nicht zur Debatte.

Daher würde ich einfach einmal in Ruhe schauen, was dem Projekt fehlt. Wenn Du da ein altes Projekt hast und das sich nicht mehr übersetzen läßt, dann scheint da etwas an den Abhängigkeiten nicht zu stimmen. Baust Du es richtig? (Sprich: wie wurde das Projekt verwaltet? Wenn es noch nicht maven oder Gradle nutzt, dann würde ich z.B. über so etwas nachdenken...) Fehlen ggf. Dateien? Der erste Schritt sollte also sein, das das alte Projekt erst einmal übersetzt...
 

Neue Themen


Zurück
Oben