Dlaczego Ant mówi „NoClassDefFound”, gdy mój plik JAR znajduje się w ścieżce klasy?

Używam Java 1.6, Eclipse i Ant.

Oto mój cel tworzenia pliku jar i jego uruchamiania:

    <!-- Settings -->
    <property file="build.properties" />
    <path id="classpath">
        <fileset dir="${lib.dir}" includes="**/*.jar" />
    </path>

    <!-- Compile -->
    <target name="compile">
        <mkdir dir="${classes.dir}" />
        <javac srcdir="${src.dir}" destdir="${classes.dir}" includeantruntime="false">
            <classpath refid="classpath" />
        </javac>
    </target>

    <!-- Package .jar -->
    <target name="jar">
        <mkdir dir="${jar.dir}" />
        <jar destfile="${jar.dir}/App.jar" basedir="${classes.dir}">
            <manifest>
                <attribute name="Main-Class" value="main.App" />
            </manifest>
        </jar>
    </target>

    <!-- Run .jar -->
    <target name="run">
        <java jar="${jar.dir}/App.jar" fork="true" />
    </target>

Problem polega na tym, że po uruchomieniu tego słoika (przez Ant lub wiersz polecenia) pojawia się błąd:

Exception in thread "main" java.lang.NoClassDefFoundError: net/xeoh/plugins/base/impl/PluginManagerFactory
     [java]     at plugins.PluginLoader.<clinit>(Unknown Source)

Kilka rzeczy, które warto wiedzieć:

Kiedy drukuję ścieżkę klasy, pokazuje, że wszystkie wymagane pliki JAR są tam; pokazuje również wersję ścieżki klasy Eclipse w GUI.

Próbowałem oczyścić projekt (zarówno przez Eclipse, jak i Ant) bezskutecznie.

Brak biblioteki .jar, która wydaje się brakowaćnie .jar w .jar (co wydaje się być częstym problemem).

To jedyny błąd. Inne klasy wydają się znaleźć bibliotekę w porządku ...

questionAnswers(1)

yourAnswerToTheQuestion