web-dev-qa-db-fra.com

NoClassDefFoundError: org/Apache/commons/lang3/StringUtils

J'essaie de lancer le projet exemple pcsc qui utilisait cette bibliothèque .

En l'exécutant, j'obtiens l'erreur suivante

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

J'ai ajouté commons-lang-2.6.jar & commons-lang3-3.1-sources.jar dans bibliothèques et dans le chemin de classe aussi. J'ai toujours cette erreur

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);
    }

}

J'ai référé aux liens suivants:

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

Démo du framework Struts 2

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

S'il vous plaît aider!

13
Rachita Nanda

J'ai ajouté commons-lang-2.6.jar & commons-lang3-3.1-sources.jar ...

Voici votre problème: commons-lang-2.6.jar ne contient pas le package org.Apache.commons.lang3, puisqu'il fait partie de la version 3, et commons-lang3-3.1-sources.jar contient le code source, pas le code d'octet.

Vous devez inclure commons-lang3-3.1.jar à la place.

14
azurefrog

Si vous utilisez Maven, mettez ceci dans votre pom.xml:

<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>

N'oubliez pas Update Project


Informations sur les dépendances d'Apache Commons Lang ™ - Dernière version 3.8 (Publié le 20 Août 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>

Groovy Grape

@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"]

Référence:

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

6
ℛɑƒæĿ

Yo ajouter le ci-dessous et mettre à jour le pronject maven travaillé comme un charme

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

2
kiran

Lorsque tout le reste est correct, le fichier JAR est rarement corrompu. Assurez-vous de ne pas voir d'erreur comme ci-dessous lors de la compilation

[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