Hallo zusammen,
ich probiere aktuell ein Projekt mit JCommander zum laufen zu bekommen. Testweise habe ich dieses Beispiel mal nachgebaut:
Beim Auführen des Programms bekomme ich aber folgenden Fehler:
Die POM.xml ist leicht anders als im obrigen Beispiel weil es wie oben nicht funktioniert hat. Das sollte aber eigentlich keinen Unterschied machen?
Wäre super wenn mir jemand sagen kann, was ich tun kann damit ich das ausführen kann.
Ich führe das ganze über die Powershell mit: mvn clean install und java -jar target\test-1.0-SNAPSHOT.jar aus. Dabei befinde ich mich in der Ebene in der die POM.xml liegt.
Vielen Dank schonmal
ich probiere aktuell ein Projekt mit JCommander zum laufen zu bekommen. Testweise habe ich dieses Beispiel mal nachgebaut:
Introduction to JCommander — Java command line argument parser
Parsing command line arguments is a common task, lets see how we can use JCommander to get it done nice and tidy.
eldadu1985.medium.com
Beim Auführen des Programms bekomme ich aber folgenden Fehler:
Die App Klasse:Exception in thread "main" java.lang.NoClassDefFoundError: com/beust/jcommander/JCommander
at App.main(App.java:8)
Caused by: java.lang.ClassNotFoundException: com.beust.jcommander.JCommander
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
... 1 more
Java:
import com.beust.jcommander.JCommander;
public class App {
public static void main(String[] argv) {
Args args = new Args();
JCommander jc = new JCommander(args);
try {
jc.parse(argv);
} catch (Exception e) {
jc.usage();
}
System.out.println("Hello World!");
if (args.help) {
jc.usage();
System.exit(0);
}
System.out.format("The value of name is: %s%n", args.name);
System.out.format("The value of verbose is: %d%n", args.verbose);
System.out.format("The value of debug is: %b%n", args.debug);
}
}
Die POM.xml ist leicht anders als im obrigen Beispiel weil es wie oben nicht funktioniert hat. Das sollte aber eigentlich keinen Unterschied machen?
XML:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>test</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
</properties>
<build>
<plugins>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>App</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>com.beust</groupId>
<artifactId>jcommander</artifactId>
<version>1.82</version>
</dependency>
</dependencies>
</project>
Wäre super wenn mir jemand sagen kann, was ich tun kann damit ich das ausführen kann.
Ich führe das ganze über die Powershell mit: mvn clean install und java -jar target\test-1.0-SNAPSHOT.jar aus. Dabei befinde ich mich in der Ebene in der die POM.xml liegt.
Vielen Dank schonmal