我有一个使用外部库的Java程序,其位置是通过类路径指定的。我现在想把Java程序变成一个独立的jar文件(所以我可以在程序运行时将我的IDE用于其他事情)。
如何将现有的.java
文件转换为可执行的jar文件?
我能够创建一个包含类文件,清单文件和库的jar文件(在类路径中指定)的jar文件,但是这看起来仍然是错误的,因为我找不到类错误。
答案 0 :(得分:0)
Ant脚本。你错过了类路径生成作为jar任务的字符串。
<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 :(得分:0)
以下是步骤,如何从命令提示符单独运行App。 1.创建一个示例java文件,然后保存在特定位置(如d:\ sample \ Hello.java。 2.打开命令提示符编译那个java类,然后像Hello.jar文件一样创建jar 3.然后在Environment文件中设置classpath(如D:\ sample \ Hello.jar; 4.现在运行你的java类,它将起作用(d:sample&gt; java Hello