mercoledì 6 settembre 2023

Passare a wildfly 27 e java 20 con applicativi j2ee (war/ear sarcazzo)

Intanto scusate perche' era un po' che non scrivevo, ma essendo pesantemente su microservizi c'e' poco da scrivere (seguira' un altro post dove dico cosa ne penso)

Premessa: avete un applicativo j2ee scritto per wildfly 10/18 $sarcazzo con jdk8/11 e funziona.

siccome aggiornare e' necessario (anche se tragico a volte) vi trovate nella situazione che se deployate il vostro applicativo avete una fraccata di errori. E' dovuto al fatto che son passati per puro sadismo da javax a jakarta.

Quindi tutto quello che e' sotto javax semplicemente non funziona.

Come fare a migrare in qualche piccolo semplice passo

  1. sostituite tutto quello che e' "javax*" con "jakarta" (si anche la roba sul persistence, sull inject etc)


  2. ho detto TUTTE anche sulle entity! Sui ws, sui dao. TUTTE.
  3. AGGIORNATE LE LIBRERIE (soprattutto quelle che generano roba al runtime tipo mapstruct)
  4. guardate se il vostro jql fa uso di query implicite (es. from $entity) perche' di default non e' permesso o lo cambiate o aggiungete una property al persistence ( <property name="hibernate.jpa.compliance.query" value="false"/>)
  5. testate testate testate e non fatevi abbattere da eventuali errori in console, guardatevi lo stack guardate cosa l'ha causato e passate all'errore successivo...