私はApache Ant 1.9.4でIntelliJ IDEA 2016.3.1を使用しています。私は私のプロジェクトを構築するために以下のスクリプトファイルを使用します。 jarターゲットは、エラーなしで.jarファイルを生成します。 IDEからアプリケーションを実行できます。ただし、.jarファイルからアプリケーションを実行することはできません。私は間違って何をしていますか? .jarファイルを実行する特別な方法ですか?Apache Antで生成された.jarファイルの実行方法?
<project name="RegexDemo" basedir=".">
<property name="version">1.0.0</property>
<property name="dir.src">src/com/fagan/demo</property>
<property name="dir.build">build</property>
<property name="dir.build.classes">${dir.build}/classes</property>
<property name="dir.build.javadoc">${dir.build}/javadoc</property>
<property name="file.jar">${dir.build}/RegexDemo-${version}.jar</property>
<path id="projectClasspath">
<fileset dir="lib">
<include name="**.jar"/>
</fileset>
</path>
<target name="clean">
<delete dir="${dir.build}"/>
</target>
<target name="init">
<mkdir dir="${dir.build}"/>
<mkdir dir="${dir.build.classes}"/>
</target>
<target name="compile" depends="init">
<echo>Compiling Java source</echo>
<javac classpathref="projectClasspath"
srcdir="${dir.src}"
destdir="${dir.build.classes}"/>
</target>
<target name="jar" depends="compile">
<echo>Making JAR file</echo>
<jar basedir="${dir.build.classes}" file="${file.jar}"/>
</target>
<target name="javadoc">
<echo>Making JavaDoc from source</echo>
<javadoc sourcepath="${dir.src}" destdir="${dir.build.javadoc}"/>
</target>
</project>
EDIT: は、私は次のスニペットで私のjarターゲットを交換したが、それはうまくいきませんでしたどちらか
<target name="jar" depends="compile">
<echo>Making JAR file</echo>
<jar basedir="${dir.build.classes}" file="${file.jar}">
<manifest>
<attribute name="Main-Class" value="com.fagan.demo.MainWindow"/>
<attribute name="Class-Path" value="${file.jar}"/>
</manifest>
</jar>
</target>
EDIT 2:ここではは私のMANIFEST.MFファイル
ですManifest-Version: 1.0
Ant-Version: Apache Ant 1.9.4
Created-By: 1.8.0_111-b14 (Oracle Corporation)
Main-Class: com.fagan.demo.MainWindow
Class-Path: build/RegexDemo-1.0.0.jar
あなたはその名前が意味する「実行可能なジャー」を作ってみたいです。この質問は役に立ちます:http://stackoverflow.com/questions/9874550/how-to-create-a-bundled-runnable-jar-using-ant –
あなたの答えをありがとうが、それは未解決の質問です。しかし、私はその質問からいくつかの提案を試み、彼らは動作しませんでした。 – saidfagan
あなたはそれが動作しないと言う。どのような種類のエラーが発生したのかを示すことができますか? –