I want to use this Java program. I extracted the zip and changed in the directory and made the jar executable. Then I run following command
java -Xmx512m -classpath lib/controlP5.jar;lib/core.jar;lib/toxiclibs_p5.jar;lib/toxiclibscore.jar;lib/SolarSystemTravel.jar com.strobe.orbit.SolarSystemTransport
(found in SolarSystemTravel.b__)
But it does not work. I'm using Linux Mint MATE 20.2 and
openjdk version "17.0.2" 2022-01-18
OpenJDK Runtime Environment (build 17.0.2 8-Ubuntu-120.04)
OpenJDK 64-Bit Server VM (build 17.0.2 8-Ubuntu-120.04, mixed mode, sharing)
The error is
Verwendung: java [Optionen] <mainclass> [args...]
(zur Ausführung einer Klasse)
oder java [Optionen] -jar <jarfile> [args...]
(zur Ausführung einer JAR-Datei)
oder java [Optionen] -m <module>[/<mainclass>] [args...]
java [Optionen] --module <module>[/<mainclass>] [args...]
(zur Ausführung der Hauptklasse in einem Modul)
Argumente, die auf die Hauptklasse folgen, -jar <jarfile>, -m oder --module
<module>/<mainclass> werden als Argumente für die Hauptklasse übergeben.
wobei "Optionen" Folgendes umfasst:
-zero zur Auswahl der "zero" VM
-dcevm zur Auswahl der "dcevm" VM
-cp <Klassensuchpfad mit Verzeichnissen und ZIP-/JAR-Dateien>
-classpath <Klassensuchpfad mit Verzeichnissen und ZIP-/JAR-Dateien>
--class-path <Klassensuchpfad mit Verzeichnissen und ZIP-/JAR-Dateien>
Eine durch : getrennte Liste mit Verzeichnissen, JAR-Archiven
und ZIP-Archiven, in denen nach Klassendateien gesucht wird.
-p <Modulpfad>
--module-path <Modulpfad>...
Eine durch : getrennte Liste mit Verzeichnissen, von denen jedes Verzeichnis
ein Verzeichnis mit Modulen ist.
--upgrade-module-path <Modulpfad>...
Eine durch : getrennte Liste mit Verzeichnissen, von denen jedes Verzeichnis
ein Verzeichnis mit Modulen ist, die upgradefähige
Module im Laufzeitimage ersetzen
--add-modules <Modulname>[,<Modulname>...]
Root-Module, die zusätzlich zum anfänglichen Modul aufgelöst werden sollen.
<Modulname> kann auch wie folgt lauten: ALL-DEFAULT, ALL-SYSTEM,
ALL-MODULE-PATH.
--list-modules
Listet beobachtbare Module auf und beendet den Vorgang
-d <Modulname>
--describe-module <Modulname>
Beschreibt ein Modul und beendet den Vorgang
--dry-run Erstellt eine VM und lädt die Hauptklasse, führt aber nicht die Hauptmethode aus.
Die Option "--dry-run" kann nützlich sein, um die
Befehlszeilenoptionen, wie die Modulsystemkonfiguration, zu validieren.
--validate-modules
Validiert alle Module und beendet den Vorgang
Die Option "--validate-modules" kann nützlich sein, um
Konflikte und andere Fehler mit Modulen auf dem Modulpfad zu ermitteln.
-D<Name>=<Wert>
Legt eine Systemeigenschaft fest
-verbose:[class|module|gc|jni]
Ausgabe im Verbose-Modus aktivieren
-version Gibt die Produktversion an den Fehlerstream aus und beendet den Vorgang
--version Gibt die Produktversion an den Outputstream aus und beendet den Vorgang
-showversion Gibt die Produktversion an den Fehlerstream aus und setzt den Vorgang fort
--show-version
Gibt die Produktversion an den Outputstream aus und setzt den Vorgang fort
--show-module-resolution
Zeigt die Modulauflösungsausgabe beim Start an
-? -h -help
Gibt diese Hilfemeldung an den Fehlerstream aus
--help Gibt diese Hilfemeldung an den Outputstream aus
-X Gibt Hilfe zu zusätzlichen Optionen an den Fehlerstream aus
--help-extra Gibt Hilfe zu zusätzlichen Optionen an den Outputstream aus
-ea[:<packagename>...|:<classname>]
-enableassertions[:<packagename>...|:<classname>]
Aktiviert Assertions mit angegebener Granularität
-da[:<packagename>...|:<classname>]
-disableassertions[:<packagename>...|:<classname>]
Deaktiviert Assertions mit angegebener Granularität
-esa | -enablesystemassertions
Aktiviert System-Assertions
-dsa | -disablesystemassertions
Deaktiviert System-Assertions
-agentlib:<libname>[=<options>]
Lädt die native Agent Library <libname>. Beispiel: -agentlib:jdwp
siehe auch -agentlib:jdwp=help
-agentpath:<pathname>[=<options>]
Lädt die native Agent Library mit dem vollständigen Pfadnamen
-javaagent:<jarpath>[=<options>]
Lädt den Java-Programmiersprachen-Agent, siehe java.lang.instrument
-splash:<imagepath>
Zeigt den Startbildschirm mit einem angegebenen Bild an
Skalierte HiDPI-Bilder werden automatisch unterstützt und verwendet,
falls verfügbar. Der nicht skalierte Bilddateiname (Beispiel: image.ext)
muss immer als Argument an die Option "-splash" übergeben werden.
Das am besten geeignete angegebene skalierte Bild wird
automatisch ausgewählt.
Weitere Informationen finden Sie in der Dokumentation zur SplashScreen-API
@argument files
Eine oder mehrere Argumentdateien mit Optionen
-disable-@files
Verhindert die weitere Erweiterung von Argumentdateien
Um ein Argument für eine lange Option anzugeben, können Sie --<Name>=<Wert> oder
--<Name> <Wert> verwenden.
kein Hauptmanifestattribut, in /home/me/Schreibtisch/sim/istage1_zusatzmaterial_java-programm/lib/core.jar
kein Hauptmanifestattribut, in /home/me/Schreibtisch/sim/istage1_zusatzmaterial_java-programm/lib/toxiclibs_p5.jar
kein Hauptmanifestattribut, in /home/me/Schreibtisch/sim/istage1_zusatzmaterial_java-programm/lib/toxiclibscore.jar
kein Hauptmanifestattribut, in /home/me/Schreibtisch/sim/istage1_zusatzmaterial_java-programm/lib/SolarSystemTravel.jar
Can I solve this problem or can only the programmer fix the problem?
CodePudding user response:
The classpath separator is only ;
(semicolon) on Windows. Since you're on Linux, you need to be using :
(colon) to separate classpath entries. Your shell is interpreting the semicolon as something totally unrelated and confusing Java.
Just replace all of the semicolons with colons in the command you're invoking.