web-dev-qa-db-ja.com

Antを使用してソースコードでjarを生成する

私はantを使用して、Eclipseで.jarファイルを作成しています。

私はプロジェクトのjarを生成する必要があります。これには、クラスファイルとともにソースコードも含まれています。どうやってやるの?

別の質問:デバッグjarとは何で、antを使用してそれを作成する方法は? (どこかでそれについて聞いて、両方を関連付けようとしている)

38
Anand

複数のファイルセットを含めるようにjarタスクを変更します。 1つはクラス用、もう1つはソースファイル用です。

<jar destfile="${target.dir}/my-app.jar">
    <fileset dir="${target.dir}/classes" />
    <fileset dir="${src.dir}" includes="**/*.Java"/>
</jar>

パッケージングは​​、コンパイルとは別の問題として扱う必要があります。これにより、柔軟性が向上します。たとえば、jarに他のファイルセット(プロパティファイルなど)を追加したり、クラスファイルとは別のjarファイルにソースをパッケージ化したりできます。

67

Jarの作成に使用しているディレクトリにソースファイルをコピーするだけです。 私はそれをしました このように(copy内のcompileに注意してください):

<?xml version="1.0" encoding="utf-8" ?>
<project name="project" default="jar" basedir=".">

    <target name="compile" description="Compile source">
        <mkdir dir="bin" />
        <javac srcdir="src" includes="**" destdir="bin" (other compilation stuff here) />
        <copy todir="bin">
            <fileset dir="src" />
        </copy>
    </target>

    <target name="jar" description="Package into JAR" depends="compile">
        <jar destfile="project.jar" basedir="bin" compress="true" />
    </target>
</project>
4
Michelle Tilley