コンパイルした後でJarファイルが実行されません。私は、マニフェストが正しいと私はライブラリの一部が含ま取得する管理していますが、CMDプロンプトから実行したとき、私はエラー.jarが実行されず、外部jarが見つかりません
java.io.FileNotFoundException
それがあるファイルを取得し、このAntビルドスクリプトを
<project name="HelloWorld" basedir="." default="jar">
<property name="src.dir" value="src"/>
<property name="build.dir" value="build"/>
<property name="classes.dir" value="${build.dir}/classes"/>
<property name="jar.dir" value="${build.dir}/jar"/>
<property name="libsSrc" value="libs"/>
<property name="main-class" value="nat.ise.ApplicationStarter"/>
<path id="classpath">
<fileset dir="${libsSrc}" includes="*.jar"/>
</path>
<pathconvert property="mf.classpath" pathsep=" ">
<path refid="classpath"/>
<mapper>
<chainedmapper>
<flattenmapper/>
<globmapper from="*.jar" to="lib/*.jar"/>
</chainedmapper>
</mapper>
</pathconvert>
<target name="clean">
<delete dir="${build.dir}"/>
</target>
<target name="compile">
<mkdir dir="${classes.dir}"/>
<javac srcdir="." classpathref="classpath" destdir="${classes.dir}"/>
</target>
<target name="jar" depends="compile">
<mkdir dir="${jar.dir}"/>
<jar destfile="${jar.dir}/${ant.project.name}.jar">
<zipgroupfileset dir="${libsSrc}" includes="*.jar"/>
<fileset dir="${classes.dir}" includes="**/*.class"/>
<manifest>
<attribute name="Main-Class" value="${main-class}"/>
<attribute name="Class-Path" value="${mf.classpath}"/>
</manifest>
</jar>
</target>
</project>
を使用しますJOGLライブラリを参照してください。gluegen-rt-natives-windowsamd64.jar
最初は32ビットライブラリを使用してEclipseからプロジェクトを実行していましたが、64ビットライブラリをlibsフォルダに含めましたが、まだそれはそれらを見つけることができません。
私はjarファイルを開いたとき、私は今、すべての.dllファイルの2つのコピーを見ることができます実際には(私は、これは32ビットから1とJOGLの64ビットバージョンから1であると仮定することができます)
32ビットライブラリだけでプログラムを実行させる方法はありませんか?私は、私がしなければならない分配の量を減らしたい。
コマンドラインから実行すると、java -jarはエラーを出力しますか? –
kevingreen
これはおそらく 'NoClassDefFound'例外の古典的なケースです... kevingreenが言ったことを行い、あなたが得るエラーを見てください。 –
私はあなたに答えるために質問を編集しました。 – Neilos