我有一个Java程序使用外部库,其位置通过类路径指定。现在我想将Java程序变成一个独立的jar文件(所以我可以在程序运行时使用我的IDE来处理其他事情)。转换为罐子,同时保留类路径
如何将现有的.java
文件转换为可执行的jar文件?
我能够制作一个jar文件,其中包括类文件,清单文件和库文件(这是在类路径中指定的),但仍然看起来是错误的,因为我没有找到类错误。
我有一个Java程序使用外部库,其位置通过类路径指定。现在我想将Java程序变成一个独立的jar文件(所以我可以在程序运行时使用我的IDE来处理其他事情)。转换为罐子,同时保留类路径
如何将现有的.java
文件转换为可执行的jar文件?
我能够制作一个jar文件,其中包括类文件,清单文件和库文件(这是在类路径中指定的),但仍然看起来是错误的,因为我没有找到类错误。
为你的Ant脚本。您错过的是将jarpath任务作为字符串生成的类路径。
<target name="all">
<property name="dir" value="yourProjectDir" />
<property name="name" value="$yourProjectName" />
<!-- clean -->
<delete dir="temp/" />
<mkdir dir="temp/bin/" />
<!-- prepare libs -->
<copy todir="temp/libs/"><fileset dir="${dir}/lbs/" /></copy>
<!-- prepare classpath -->
<pathconvert property="classpath" pathsep=" ">
<path><fileset dir="temp/libs/" /></path>
<chainedmapper><flattenmapper /><globmapper from="*" to="libs/*" /></chainedmapper>
</pathconvert>
<!-- compile -->
<javac destdir="temp/bin/" srcdir="${dir}/src/" target="1.6" source="1.6" includeAntRuntime="false">
<classpath>
<pathelement location="temp/bin/" />
<fileset dir="temp/libs/" />
</classpath>
</javac>
<!-- jar -->
<jar destfile="temp/${name}.jar" basedir="temp/bin/">
<manifest>
<attribute name="Main-Class" value="Main" />
<attribute name="Class-Path" value="${classpath}" />
</manifest>
</jar>
<!-- zip jar + libs -->
<zip destfile="${name}-${version}.zip">
<fileset dir="temp" includes="${name}.jar, libs/" />
</zip>
</target>
以下是如何从命令提示符运行独立应用程序的步骤。 1.创建一个示例java文件,然后保存在特定的位置(如d:\ sample \ Hello.java。 2.打开命令提示符编译该java类,然后像Hello.jar文件创建jar 3.然后设置classpath in环境文件(如D:\ sample \ Hello.jar; )4.现在运行你的java类,它会工作(d:sample> java你好
细节,细节,细节(换句话说,我们需要它们能够帮助) – KevinDTimm 2012-02-27 13:10:17
[JAR中的Classpath包括JAR]的可能的重复(http://stackoverflow.com/questions/183292/classpath-including-jar-within-a-jar) – 2012-02-27 13:15:11
.java文件只是源代码,不能执行 – qrtt1 2012-02-27 13:16:35