<target name="javac" depends="init"> <mkdir dir="${class.dir}" /> <javac srcdir="${src.dir}" destdir="${class.dir}" encoding="${compile.encoding}" memoryInitialSize="256M" fork="yes" memoryMaximumSize="256M"> <!-- usage : excludes="kino/hoge.org/**" --> <classpath refid="project.class.path" /> </javac> </target>
ちなみにクラスパスなどは
<path id="project.class.path"> <pathelement path="${java.class.path}" /> <pathelement path="${class.dir}" /> <pathelement path="${jar.dir}" /> <pathelement location="${log.jar}" /> <pathelement location="${swt.jar}" /> </path>
とかすればよい。
<path id="all.classes"> <fileset dir="${jar.dir}"> <include name="**/*.jar"/> </fileset> </path>
といった書き方をすると、
<!-- Javaテストプログラムの実行 --> <target name="java" depends="javac"> <java classname="kino.test.TestApp2" fork="yes" maxmemory="256M" > <arg line="hogehoge" /> <classpath refid="all.classes" /> </java> </target>
と書くことができる。こうするとすべてのjarファイルにクラスパスを通したことになる。
題名の通り、デフォルトは有効なので(ようするにxercesImpl.jarなどは、${ANT_HOME}/lib/にあるため、クラスパスを通さなくてもコンパイルエラーにならない) それを無効にする方法。javacタスクのオプションで
includeAntRuntime="no"
とすればよい。
>ant -projecthelp
とすると、プロジェクトの一覧が表示される。以下が結果
Buildfile: build.xml moneytest build file Main targets: Subtargets: clean clover.view code hist.report record.point report.html test with.clover Default target: code
${ANT_HOME}/lib/
にjarファイルを置く必要がある。
基本的にはtaskdefタグで行う。下記がサンプル。
<taskdef name="java2html" classname="com.java2html.Java2HTMLTask"> <classpath> <pathelement location="${j2h.jar}" /> </classpath> 上でそのタスクが存在するjarを指定。 </taskdef>
${j2h.jar}は、j2h.jarを指定(ファイルはhttp://www.java2html.com/より取得)*1
<target name="j2h" depends="javac"> <mkdir dir="${j2h.dir}"/> <java classname="j2h" fork="yes" maxmemory="256M" > <arg line="-js ${src.dir} -d ${j2h.dir} -t 2 -m 4" /> <classpath> <pathelement location="${j2h.jar}" /> </classpath> </java> </target>
この記事は
現在のアクセス:43163