Exception 与其他库一起创建库jar
我正在通过eclipse创建jar,但不是runnable jar,它只是一个库。导入之后,我正在创建新项目并添加这个jar文件。但当运行应用程序时,它会抛出一个异常,即找不到jar中的库。但是这些库包含在创建的jar中。我的错在哪里?我该怎么做?默认情况下,您不能在JAR文件中包含依赖项JAR文件,您需要一个插件,如(Artur Malinowski建议的)中所述。但是,如果您希望创建一个只与其他依赖项一起工作的JAR,您可以通过Eclipse轻松地做到这一点,方法是右键单击项目,进入属性、Java构建路径、库,然后使用菜单右侧的按钮添加JAR等(如开普勒) 我希望这有帮助Exception 与其他库一起创建库jar,exception,jar,java,Exception,Jar,Java,我正在通过eclipse创建jar,但不是runnable jar,它只是一个库。导入之后,我正在创建新项目并添加这个jar文件。但当运行应用程序时,它会抛出一个异常,即找不到jar中的库。但是这些库包含在创建的jar中。我的错在哪里?我该怎么做?默认情况下,您不能在JAR文件中包含依赖项JAR文件,您需要一个插件,如(Artur Malinowski建议的)中所述。但是,如果您希望创建一个只与其他依赖项一起工作的JAR,您可以通过Eclipse轻松地做到这一点,方法是右键单击项目,进入属性、J
另外,无论你把主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,请参阅