SPRING java.lang.NoClassDefFoundError: org/springframework/Kontext/Datei ApplicationContext

Es scheint, die Menschen haben ähnliche Probleme, aber auf IDE.
Ich bin nicht mit einer IDE.

Installierte ich den Frühling mit einem Maven-dependency-wie Sie sehen in meinem build.xml Datei.

, Bekomme ich folgenden stacktrace, der sagt, org.springframework.der Kontext wird nicht gefunden:

run-Entkopplung:

[java] java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContext
 [java]     at java.lang.Class.getDeclaredMethods0(Native Method)
[java]     at java.lang.Class.privateGetDeclaredMethods(Class.java:2442)
 [java]     at java.lang.Class.getMethod0(Class.java:2685)
 [java]     at java.lang.Class.getMethod(Class.java:1620)
 [java]     at sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:488)
 [java]     at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:480)
 [java] Caused by: java.lang.ClassNotFoundException: org.springframework.context.ApplicationContext
 [java]     at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
 [java]     at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
 [java]     at java.security.AccessController.doPrivileged(Native Method)
 [java]     at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
 [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
 [java]     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
 [java]     at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
 [java]     ... 6 more
 [java] Exception in thread "main"
 [java] Java Result: 1

BAUEN ERFOLGREICHE
Gesamt-Zeit: 4 Sekunden

Hier ist mein client (java-Datei: DecoupledDataReaderClient.java):

package com.example.decouple.client;

import java.io.*;
import java.util.*;
import com.example.filereader.IReader;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class DecoupledDataReaderClient {
  private IReader reader = null;
  private ApplicationContext ctx = null;
  public DecoupledDataReaderClient() {
    ctx = new ClassPathXmlApplicationContext("beans.xml");
  }
  private String fetchData() {
    reader = (IReader) ctx.getBean("reader");
    return reader.read();
  }
  public static void main(String[] args) {
    DecoupledDataReaderClient client = new DecoupledDataReaderClient();
    System.out.println("Example 1.3: Got data: " + client.fetchData());
  }
}

Hier ist meine build.xml Datei mit dem spring dependency - & classpath und xmlns verwenden MAVEN
*EDIT: HINZUGEFÜGT DEN CLASSPATH ZU LAUFEN-ENTKOPPELN*

<project name="data-reader" default="compile" xmlns:artifact="antlib:org.apache.maven.artifact.ant">
    <property name="src" location="."/>
    <property name="obj" location="../classes"/>
    <property name="jarfile" location="../data-reader.
        jar"/>

    <target name="init">
        <mkdir dir="dist" />
        <artifact:dependencies pathId="dependency.classpath">
            <dependency groupId="org.springframework"
                        artifactId="spring-context"
                        version="3.2.4.RELEASE" />
        </artifact:dependencies>
    </target>

    <target name="compile" depends="init">
        <mkdir dir="${obj}"/>
        <depend srcdir="${src}" destdir="${obj}" />
        <javac includeantruntime="false" 
               srcdir="${src}" 
               destdir="${obj}">
            <classpath refid="dependency.classpath" />
        </javac>
    </target>

    <target name="jar" depends="compile">
        <jar basedir="${obj}" destfile="${jarfile}">
            <include name="*.class"/>
        </jar>
    </target>

    <target name="run" depends="compile">
        <java classpath="${obj}" classname="VanillaDataReaderClient"/>
    </target>

    <target name="decouple-jar" depends="compile">
        <jar destfile="dist/decouple.jar" basedir="${obj}">
            <manifest>
                <attribute name="Main-Class" value="com.example.decouple.client.DecoupledDataReaderClient"/>
            </manifest>
        </jar>  
    </target>

    <target name="run-decouple" depends="decouple-jar">
    <java fork="true" jar="dist/decouple.jar" >
        <classpath>
            <path refid="dependency.classpath" />
        </classpath>
    </java>
</target>


</project>

Und schließlich, hier ist meine beans.xml Datei

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
       xsi:schemaLocation="http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean name="reader" class="com.example.filereader.VanillaFileReader">
        <constructor-arg value="src/hello.txt" />
    </bean>
</beans>

Wenn mir jemand helfen könnte, warum es ist nicht zu finden das Klasse, auch wenn der Frühling Abhängigkeit ist in meinem build.xml (die erfolgreich heruntergeladen wurde entsprechend der Ausgabe von build.xml) und mit in den classpath, würde ich mich sehr freuen.

Vielen Dank im Voraus.

  • Haben Sie versucht maven clean install? Oder mit maven-Sie meinte nur zu downloaden .jar-Dateien?
  • Problem ist in Ihrem pom.xml seine fehlende Abhängigkeit. Sie müssen es teilen.
  • Habe ich nicht. Wie ich bereits erwähnte, habe ich die "xmlns:Artefakt="antlib:org.apache.maven.Artefakt.ant" - Linie zulassen, dass meine Datei zu verwenden Maven-Abhängigkeiten. Ich habe dann die Abhängigkeiten, um zu versuchen und download Frühjahr, sollte es installiert haben, aber ich bekomme die Fehler, die ich erwähnt beim Aufruf Feder Klassen
  • Wo kann ich die finden pom.xml Datei und was meinst du mit Austausch?
  • Ich glaube, ich verstehe was du jetzt meinst.. Ist es, dass das hinzufügen der Abhängigkeit zu meinem build.xml nur die heruntergeladenen jar-Dateien für den Frühling, aber nicht installieren Sie Sie?
  • Auch könnte man ein maven-Projekt, fügen Sie Abhängigkeiten im Frühjahr pom.xml Datei und kompilieren Sie es mit maven generiert es Ihr .war-Dateien.
  • Möglich, bezogen auf stackoverflow.com/questions/19073898/...

InformationsquelleAutor jdelgado08 | 2013-10-02
Schreibe einen Kommentar