PDFsam-basic startet (schon wieder) nicht - LEAP 16.0

Hallo,

PDFsam und ich eine schier endlose Geschichte :frowning:

Ich weiß, dass es java-21 benötigt und ich habe das auch u.a. installiert.
Da PFDsam nicht startet bzw. mit dieser Java-Fehlermeldung:

admine@renilaptop:~> pdfsam 
WARNING: A restricted method in java.lang.System has been called
WARNING: java.lang.System::load has been called by com.sun.glass.utils.NativeLibLoader in module javafx.graphics (file:/opt/pdfsam-basic/lib/javafx-graphics-23.0.2-linux.jar)
WARNING: Use --enable-native-access=javafx.graphics to avoid a warning for callers in this module
WARNING: Restricted methods will be blocked in a future release unless native access is enabled

INFO 17:56:56.023 org.pdfsam.gui.PdfsamApp.init [JavaFX-Launcher] Starting...
Exception in Application init method
ERROR 17:56:56.033 org.pdfsam.gui.UncaughtExceptionLogger.uncaughtException [main] Unexpected error: java.lang.RuntimeException: Exception in Application init method
        at javafx.graphics@23.0.2/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:888)
        at javafx.graphics@23.0.2/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:196)
        at java.base/java.lang.Thread.run(Thread.java:1474)
Caused by: java.lang.UnsupportedClassVersionError: org/pdfsam/core/context/ApplicationContext (class file version 65.65535) was compiled with preview features that are unsupported. This version of the Java Runtime only recognizes preview features for class file version 69.65535
        at java.base/java.lang.ClassLoader.defineClass1(Native Method)
        at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:962)
        at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1039)
        at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:176)
        at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:735)
        at java.base/jdk.internal.loader.BuiltinClassLoader.findClassInModuleOrNull(BuiltinClassLoader.java:678)
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:604)
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:578)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490)
        at org.pdfsam.gui@5.4.1/org.pdfsam.gui.PdfsamApp.init(PdfsamApp.java:107)
        at javafx.graphics@23.0.2/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:817)
        ... 2 morejava.lang.RuntimeException: Exception in Application init method
        at javafx.graphics@23.0.2/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:888)
        at javafx.graphics@23.0.2/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:196)
        at java.base/java.lang.Thread.run(Thread.java:1474)
Caused by: java.lang.UnsupportedClassVersionError: org/pdfsam/core/context/ApplicationContext (class file version 65.65535) was compiled with preview features that are unsupported. This version of the Java Runtime only recognizes preview features for class file version 69.65535
        at java.base/java.lang.ClassLoader.defineClass1(Native Method)
        at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:962)
        at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1039)
        at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:176)
        at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:735)
        at java.base/jdk.internal.loader.BuiltinClassLoader.findClassInModuleOrNull(BuiltinClassLoader.java:678)
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:604)
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:578)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490)
        at org.pdfsam.gui@5.4.1/org.pdfsam.gui.PdfsamApp.init(PdfsamApp.java:107)
        at javafx.graphics@23.0.2/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:817)

weiß ich ja noch vom Februar, dass ich nach der richtigen Java-Version schaun muss.
Tja und da weiß ich jetzt auch nicht weiter:

renilaptop:~ # update-alternatives --config java
update-alternatives: error: no alternatives for java

Verstehe ich nicht, denn:

renilaptop:~ # zypper se -i java
Repository-Daten werden geladen...
Installierte Pakete werden gelesen...

S  | Name                       | Summary                                       | Type
---+----------------------------+-----------------------------------------------+------
i+ | java-21-openjdk            | OpenJDK 21 Runtime Environment                | Paket
i  | java-21-openjdk-headless   | OpenJDK 21 Runtime Environment                | Paket
i  | java-25-openjdk            | OpenJDK 25 Runtime Environment                | Paket
i  | java-25-openjdk-headless   | OpenJDK 25 Runtime Environment                | Paket
i  | javapackages-filesystem    | Java packages filesystem layout               | Paket
i  | javapackages-tools         | Macros and scripts for Java packaging support | Paket
i  | libjavascriptcoregtk-4_1-0 | JavaScript Core Engine, GTK+ Port             | Paket

Jemand eine Idee … bitte :frowning:
VG reni

Noch ein Nachtrag:

java --version 
openjdk 25.0.4 2026-07-21

Es wird also die falsche Version benutzt.
Ich versuche mal ein Re-Install der Version 21.

Ein Re-Install hat nichts gebracht.
Wenn ich die 25er Version deinstalliere und damit nur noch die 21er Version vorhanden ist, startet jetzt auch PDFsam.
Warum aber funktioniert “update-alternatives” nicht?

Hat sich geändert, funktioniert jetzt mit alts (beachte das !bzw. *):

alts -l java
Binary: java
Alternatives: 3
  Priority: 2705   Target: /usr/lib64/jvm/jre-17-openjdk/bin/java
                 Group: java, keytool, rmiregistry
  Priority: 3105   Target: /usr/lib64/jvm/jre-21-openjdk/bin/java
                 Group: java, keytool, rmiregistry
  Priority: 3505*  Target: /usr/lib64/jvm/jre-25-openjdk/bin/java
                 Group: java, keytool, rmiregistry

Hier ist jre-25 als Standard.

Jetzt ändere ich systemweit als root (über die Priorität):

alts -s -n java -p 3105

Jetzt ist jre-21 als Standard.

alts -l java
Binary: java
Alternatives: 3
  Priority: 2705   Target: /usr/lib64/jvm/jre-17-openjdk/bin/java
                 Group: java, keytool, rmiregistry
  Priority: 3105!  Target: /usr/lib64/jvm/jre-21-openjdk/bin/java
                 Group: java, keytool, rmiregistry
  Priority: 3505   Target: /usr/lib64/jvm/jre-25-openjdk/bin/java
                 Group: java, keytool, rmiregistry

Lese

man alts

Mit alts -l kannst du dir alle Programme anzeigen lassen, die du so umstellen kannst.

1 Like

Und nicht nachfragen, soll so funktionieren, habs aber auch noch nicht hinbekommen…

Danke, hab ich noch nicht gewusst.
Teste ich dann gleich mal.

Funktioniert.

Danke!

Oh menno.
Jetzt kam gerade ein Update rein: pdfsam-basic-6.0.5-lp160.5.1.x86_64
Und jetzt hab ich mal eine andere Fehlermeldung:

admine@renilaptop:~> pdfsam 
Error occurred during initialization of boot layer
java.lang.module.FindException: Error reading module: /opt/pdfsam-basic/lib/pdfsam-split-by-size-6.0.5.jar
Caused by: java.lang.module.InvalidModuleDescriptorException: Unsupported major.minor version 69.0

Stelle ich um auf die Jave-Version 25 kommt das:

admine@renilaptop:~> pdfsam 
Error occurred during initialization of boot layer
java.lang.module.FindException: Module javafx.graphics not found, required by org.pdfsam.basic

Das hab ich gerade gebaut…

Ich kann es aber noch nicht ausprobieren, der OBS baut noch…

Oh, das kommt doch gar nicht aus deinem Repo (oder bist du jetzt auch home:duwe) :roll_eyes:

Ne, aber der und Eric holen sich das aus meinem Repo…

https://build.opensuse.org/package/show/home:duwe/pdfsam-basic

oben rechts…

1 Like

Ach gugg.
Könnte ich also auch dein Repo dafür einbinden.

Aber wie du siehst, läuft die neue Version noch nicht so wirklich rund.
Doch ich bin geduldig, denn meine Arbeit für heute mit PDFsam ist erledigt :slight_smile:
Danke vorab!

Eigentlich ja, aber besser nicht.
Ich hab mir da auch schon mal nen Hund reingebaut, das hat dann einen halben Tag gedauert, den zu finden.

Daher rate ich ab.

Hast du es mal mit Java 25 versucht?

1 Like

Ja, siehe die Meldung dazu weiter oben.
Die war ein klein wenig anders, als mit Version 21.

Ich teste gleich mal PDFsam hier auf meinem Büro-Laptop.

So schauts aus:

user@localhost:~> pdfsam 
Error occurred during initialization of boot layer
java.lang.module.FindException: Module javafx.graphics not found, required by org.pdfsam.basic

Dieses Module javafx.graphics gibts nicht :roll_eyes:

user@localhost:~> java --version 
openjdk 25.0.4 2026-07-21
OpenJDK Runtime Environment (build 25.0.4+7-suse-01600-x8664)
OpenJDK 64-Bit Server VM (build 25.0.4+7-suse-01600-x8664, mixed mode, sharing)
user@localhost:~> zypper se -s pdfsam
Repository-Daten werden geladen...
Installierte Pakete werden gelesen...

S  | Name         | Type       | Version         | Arch   | Repository
---+--------------+------------+-----------------+--------+---------------------------
i+ | pdfsam-basic | Paket      | 6.0.5-lp160.5.1 | x86_64 | duwe's Home Project (16.0)
   | pdfsam-basic | Quellpaket | 6.0.5-lp160.5.1 | noarch | duwe's Home Project (16.0)

Ich habe jetzt nur gefunden, dass es für openSUSE Leap 16.0 kein openjfx, es wohl aber daran hängt / hängen könnte.

Was nun … ?

Hab heute morgen rumgebastelt (ein paar Pakete neu gebaut usw.), aber die Fehlermeldung nicht wegbekommen.

Also gehe ich den Weg des geringsten Widerstandes und baue wieder die Version 5.4.1, die mit Java 21 läuft.

1 Like

Ok, dann gibt es weinigstens eine Version, die funktiniert.
Danke! :slight_smile:

Ich habe hier zwar keine direkte Antwort auf Deine Frage — aber eventuell könnte Dir diese Info trotzdem helfen:

Statt PDFsam (-basic) nutze ich mittlerweile https://software.opensuse.org/package/pdfmixtool , das deckt i.W. den Umfang von PDFsam-basic ab.

Und gaaanz viel kann https://www.bentopdf.com/ — das ist natürlich ein anderer Ansatz von Software/Service.