Exception 与其他库一起创建库jar

Exception 与其他库一起创建库jar,exception,jar,java,Exception,Jar,Java,我正在通过eclipse创建jar,但不是runnable jar,它只是一个库。导入之后,我正在创建新项目并添加这个jar文件。但当运行应用程序时,它会抛出一个异常,即找不到jar中的库。但是这些库包含在创建的jar中。我的错在哪里?我该怎么做?默认情况下,您不能在JAR文件中包含依赖项JAR文件,您需要一个插件,如(Artur Malinowski建议的)中所述。但是,如果您希望创建一个只与其他依赖项一起工作的JAR,您可以通过Eclipse轻松地做到这一点,方法是右键单击项目,进入属性、J

我正在通过eclipse创建jar,但不是runnable jar,它只是一个库。导入之后,我正在创建新项目并添加这个jar文件。但当运行应用程序时,它会抛出一个异常,即找不到jar中的库。但是这些库包含在创建的jar中。我的错在哪里?我该怎么做?

默认情况下,您不能在JAR文件中包含依赖项JAR文件,您需要一个插件,如(Artur Malinowski建议的)中所述。但是,如果您希望创建一个只与其他依赖项一起工作的JAR,您可以通过Eclipse轻松地做到这一点,方法是右键单击项目,进入属性、Java构建路径、库,然后使用菜单右侧的按钮添加JAR等(如开普勒)

我希望这有帮助


另外,无论你把主JAR放在哪里,你都必须把依赖项JAR文件推到哪里,然而,这是最简单、最直接的方法,可以让它首先工作,然后再使用构建插件进行优化。

我找到了解决方案。我为创建jar编写了一些ant脚本,它解决了我的问题

<target name="dist" depends="build-jar">


    <property name="store.jar.name" value="MYJARNAME"/>

    <property name="store.dir" value="store"/>
    <property name="store.jar" value="${store.dir}/${store.jar.name}.jar"/>

    <echo message="Packaging project into a single JAR at ${store.jar}"/>

    <mkdir dir="dist"/>
    <delete dir="${store.dir}"/>
    <mkdir dir="${store.dir}"/>
    <mkdir dir="dist/lib"/>
    <copy todir="dist/lib/" overwrite="false" granularity="9223372036854">
        <fileset dir="lib/"/>
    </copy>
    <jar destfile="${store.dir}/temp_final.jar" filesetmanifest="skip">
        <zipgroupfileset dir="dist" includes="*.jar"/>
        <zipgroupfileset dir="dist/lib" includes="*.jar"/>

        <manifest>
            <attribute name="Main-Class" value="${main.class}"/>
        </manifest>
    </jar>

    <zip destfile="${store.jar}">
        <zipfileset src="${store.dir}/temp_final.jar"
        excludes="META-INF/*.SF, META-INF/*.DSA, META-INF/*.RSA"/>
    </zip>

    <delete file="${store.dir}/temp_final.jar"/>

</target>


您添加了jar以正确构建路径吗?“但这些库都包含在已创建的jar中。”这到底意味着什么?你创建了一个胖罐子吗?@Gimby当我解压罐子时,其他库都在那里。但是我没有使用eclipse的胖jar插件。你是说其他jar都在你自己的jar库中?如果是关于在jar中包含jar,请参阅