webentwicklung-frage-antwort-db.com.de

NoClassDefFoundError: org/Apache/commons/lang3/StringUtils

Ich versuche, das Beispiel-pcsc-Projekt auszuführen, das diese library verwendet.

Beim Ausführen erhalte ich die folgende Fehlermeldung

Exception in thread "main" Java.lang.NoClassDefFoundError: org/Apache/commons/lang3/StringUtils
    at com.github.devnied.emvnfccard.enums.EmvCardScheme.<init>(EmvCardScheme.Java:97)
    at com.github.devnied.emvnfccard.enums.EmvCardScheme.<clinit>(EmvCardScheme.Java:32)
    at com.github.devnied.emvnfccard.parser.EmvParser.readWithAID(EmvParser.Java:277)
    at com.github.devnied.emvnfccard.parser.EmvParser.readEmvCard(EmvParser.Java:120)
    at com.github.devnied.emvpcsccard.Main.main(Main.Java:64)
Caused by: Java.lang.ClassNotFoundException: org.Apache.commons.lang3.StringUtils
    at Java.net.URLClassLoader$1.run(Unknown Source)
    at Java.net.URLClassLoader$1.run(Unknown Source)
    at Java.security.AccessController.doPrivileged(Native Method)
    at Java.net.URLClassLoader.findClass(Unknown Source)
    at Java.lang.ClassLoader.loadClass(Unknown Source)
    at Sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at Java.lang.ClassLoader.loadClass(Unknown Source)
    ... 5 more

Ich habe commons-lang-2.6.jar & commons-lang3-3.1-sources.jar in .__ hinzugefügt. libs und auch im Klassenpfad. Trotzdem bekomme ich diesen Fehler

Code

public static void main(final String[] args) throws CardException, CommunicationException {


    Main pcsc = new Main();
    CardTerminal ct = pcsc.selectCardTerminal();
    Card c = null;
    if (ct != null) {
        c = pcsc.establishConnection(ct);
        CardChannel channel = c.getBasicChannel();
        PcscProvider provider = new PcscProvider(channel);
        EmvParser parser = new EmvParser(provider, false);
        parser.readEmvCard();
        c.disconnect(false);
    }

}

Ich habe auf folgende Links verwiesen:

Java.lang.ClassNotFoundException: org.Apache.commons.lang.StringUtils von BaseClassLoader

Struts 2 Framework Demo

http://Apache-commons.680414.n4.nabble.com/lang-Java-lang-NoClassDefFoundError-org-Apache-commons-lang-StringUtils-Exception-td3735881.html

Bitte helfen

13
Rachita Nanda

Ich habe commons-lang-2.6.jar & commons-lang3-3.1-sources.jar hinzugefügt ...

Hier ist Ihr Problem: commons-lang-2.6.jar enthält nicht das org.Apache.commons.lang3-Paket, da es Teil von Version 3 ist, und commons-lang3-3.1-sources.jar enthält den Quellcode, nicht den Bytecode.

Sie müssen stattdessen commons-lang3-3.1.jar angeben.

14
azurefrog

Wenn Sie Maven verwenden, fügen Sie dies in Ihre Pom.xml ein:

<dependency>
    <groupId>commons-lang</groupId>
    <artifactId>commons-lang</artifactId>
    <version>2.6</version>
</dependency>

<dependency>
    <groupId>org.Apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.1</version>
</dependency>

Update Project nicht vergessen


Apache Commons Lang ™ Abhängigkeitsinformationen - Letzte Version 3.8 (Veröffentlicht: 20 August 2018)

Apache Maven

<dependency>
  <groupId>org.Apache.commons</groupId>
  <artifactId>commons-lang3</artifactId>
  <version>3.8</version>
</dependency>

Gradle/Grails

compile 'org.Apache.commons:commons-lang3:3.8'

Apache Buildr

'org.Apache.commons:commons-lang3:jar:3.8'

Apache Ivy

<dependency org="org.Apache.commons" name="commons-lang3" rev="3.8">
  <artifact name="commons-lang3" type="jar" />
</dependency>

Groovige Traube

@Grapes(
@Grab(group='org.Apache.commons', module='commons-lang3', version='3.8')
)

Scala SBT

libraryDependencies += "org.Apache.commons" % "commons-lang3" % "3.8

Leiningen

[org.Apache.commons/commons-lang3 "3.8"]

Referenz:

https://commons.Apache.org/proper/commons-lang/dependency-info.html

6
ℛɑƒæĿ

Das Hinzufügen des untenstehenden und aktualisierten Maven Pronject funktionierte wie ein Zauber

<dependency>
<groupId>org.Apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.1</version>

2
kiran

Das Hinzufügen unten hat bei mir funktioniert

   <dependency>
                <groupId>org.Apache.commons</groupId>
                <artifactId>commons-math3</artifactId>
                <version>3.6.1</version>
     </dependency>
0
smita

Wenn alles andere korrekt ist, wird die JAR-Datei selten beschädigt. Stellen Sie sicher, dass beim Kompilieren keine Fehler wie unten angezeigt werden

[ERROR] error reading 
C:\Users\Mohan\.m2\repository\org\Apache\commons\commons-lang3\3.7\commons-lang3-3.7.jar; 
ZipFile invalid LOC header (bad signature)
0

Ich hatte dieses Problem in der IJ-Version 2016, nachdem ich es auf 2018.3.4 aktualisiert und auf der Registerkarte Maven-Optionen auf "Quellen generieren und Ordner für alle Projekte aktualisieren" geklickt hatte. Das Problem wurde behoben

IJ Maven tab at IJ 2018.3.4

0
Shell_Leko