Voglio aggiungere apache cli alla mia applicazione, ma ho un problema. Questi errori indicano quando provo a farlo funzionare:java.lang.NoClassDefFoundError: org/apache/commons/cli/ParseException
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/cli/ParseException
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
at java.lang.Class.getMethod0(Class.java:3018)
at java.lang.Class.getMethod(Class.java:1784)
at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.cli.ParseException
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 7 more
Ecco il mio codice:
CommandLineParser parser = new PosixParser();
Options options = new Options();
options.addOption("a", "abc", true, "First parameter");
try {
CommandLine commandLine = parser.parse(options, args);
System.out.println(commandLine.getOptionValue("a"));
} catch (ParseException e1) {
e1.printStackTrace();
}
Ho anche aggiunto in pom.xml questo:
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>1.2</version>
</dependency>
ma non è così aiuto:/Ho aggiunto anche manualmente commons-cli-1.3.1.jar e successive commons-cli-1.2.jar ma entrambi non aiutano.
@edit
Ps. Lo sto eseguendo come "java-jar filename.jar".
Questo jar viene aggiunto a classpath quando si tenta di aggiungerlo. –
L'ho aggiunto in eclipse (BuildPath -> ConfigureBuildPath -> AddJARs). – Marek