2025.12

Migration MyCoRe LTS 2025.06 nach 2025.12

Diese Seite fasst Systemanforderungen für die Nutzung des MyCoRe LTS 2025.12 und die Migration von Version 2025.06 zu 2025.12 zusammen.

Diese Seite ist Work in Progress.
Sie wird im Rahmen der Fertigstellung des aktuellen MyCoRe-Releases weiter ergänzt!

Systemanforderungen MyCoRe LTS 2025.12

Für den Betrieb einer MyCoRe-Anwendung unter LTS 2025.12 sind folgende Voraussetzungen zu erfüllen:

Betriebssystem

MyCoRe LTS 2025 ist auf diesen Betriebsystemen im Einsatz. Höhere Versionen sollten kein Problem darstellen.

  • Open SuSE Leap 15.6 oder höher
  • SuSE SLES 15.6 oder höher
  • Ubuntu 24.04 LTS
  • CentOS 8
  • RHEL 8
  • Windows 11 für Test- und Entwicklungssysteme

Standardsoftware

Zur Arbeit mit MyCoRe LTS 2025 sind folgende Softwarekomponenten erforderlich bzw. empfohlen. Diese sind alle von Drittanbietern und im Normalfall in den Distributionen enthalten.

  • Java 21 (OpenJDK) (muss ggf. extern nachinstalliert werden)
  • Tomcat 10.1.x bzw. Jetty 11.x (alternativ ein System mit Unterstützung von Servlet-6.0 und JakartaEE)
  • SOLR 9.8.1 oder höher
  • eine hibernate-fähige relationale Datenbank wie PostgreSQL 16 oder höher , MySQL/Maria-DB 10 oder höher, DB2; für Testzwecke genügt auch die integrierte Datenbank H2
  • Git 2.26 oder höher
  • Apache Maven 3.6.3 oder höher

Neuerungen

... die eine Migration erforderlich machen

  • Die Methode MCRAccessControlSystem#instance() wurde umbenannt (siehe unten).

Migrationsschritte

  • Bei allen MyCoRe-Modulen wurden die Tests von JUnit 4 auf JUnit 5 umgestellt. Die Unterstützung für JUnit 4 wurde entfernt. Dementsprechend sind auch die Test-Basisklassen MCRTestCase, MCRJPATestCase und MCRStoreTestCase entfernt worden. Wer in eigenen Modulen JUnit 4 Test hat, muss diese entsprechend anpassen.

    • Statt MCRTestCase zu erweitern, kann die Annotation @MyCoReTest verwendet werden.
    • Statt MCRJPATestCase zu erweitern, kann zusätzlich zu @MyCoReTest die Annotation @ExtendWith(MCRJPAExtension.class) verwendet werden. Für einige Methoden der entfallenen Test-Basisklasse gibt es Ersatz in der Hilfsklasse MCRJPATestHelper (z.B. beginTransaction und endTransaction).
    • Statt MCRStoreTestCase zu erweitern, kann je nach Funktionsbedarf zusätzlich zu @MyCoReTest die Annotation
      @ExtendWith(MCRStoreExtension.class) oder @ExtendWith({MCRJPATestExtension, MCRStoreExtension.class})
      verwendet werden.

    Statt getTestProperties() zu überschreiben, kann mit @MCRTestConfiguration oder, wenn die Werte dynamisch sind, direkt mit MCRConfiguration2#set gearbeitet werden.

    Bestehende setUp- und tearDown-Methoden können erhalten bleiben, müssen aber als static markiert werden und mit @BeforeAll bzw. @AfterAll annotiert werden. Der Aufruf der jeweiligen Super-Methode sowie eine ggf. vorhandene @Override-Annotation können ersatzlos entfernt werden.

    Wer seine JUnit 4 Tests nicht während der Migration umstellen möchte, kann vorerst auch das neue Modul mycore-junit4 einbinden und die Migration später durchführen. Mit diesem Modul bleiben die oben genannten Test-Basisklassen zunächst noch erhalten. Zudem muss JUnit 4 als Abhängigkeit erhalten bleiben.

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    
    <dependency>
      <groupId>org.mycore</groupId>
      <artifactId>mycore-junit4</artifactId>
      <type>test-jar</type>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
    </dependency>
    Die Test-Basisklassen sind im neuen Modul mycore-junit4 als @Deprecated markiert. Im eigenen Modul muss daher innerhalb von <properties> vorübergehend der Eintrag <maven.compiler.arg/> hinzugefügt werden. Dies überschreibt die Standardeinstellung von MyCoRe (<maven.compiler.arg/>-Werror</maven.compiler.arg/>) und erlaubt damit die Verwendung von derart markiertem Code.

  • Im Nachgang zu den Änderungen in 2025.06 wurde nun auch die Methode MCRAccessControlSystem#instance() in MCRAccessControlSystem#getInstance() umbenannt. Die alte Methode wurde als @Deprecated markiert. Eigener Code bleibt daher noch funktionsfähig, muss aber vor der Verwendung der nächsten MyCoRe-Version umgestellt werden.