トップ 差分 一覧 ソース 置換 検索 ヘルプ PDF RSS ログイン

ant の基本

使い方

-f でビルドファイルを指定しない場合は、 build.xml を使用する

ターゲットを指定して実行

ant ターゲット名

ターゲットの一覧

ant -p

javaで実行する場合

java -cp ant-launcher.jar org.apache.tools.ant.launch.Launcher ターゲット名

基本的な build.xml

 <?xml version="1.0" encoding="UTF-8"?>
 
 <project name="app"  basedir="." default="all">
   <!-- 変数 -->
   <property name="app.home" location="."/>
   <property name="app.lib"   location="${app.home}/lib"/>
   <property name="app.class" location="${app.home}/build/classes"/>
   <property name="app.src"   location="${app.home}/src"/>
   <property name="app.dist"   location="${app.home}/dist"/>
   
   <property name="app.jar" location="${app.home}/app.jar"/>
   <property name="app.manifest" location="${app.home}/manifest.txt"/>
   <property name="app.mainclass" value="app.Main"/>
   
   <property name="app.java.version" value="1.6"/>
   <property name="app.test.class" value="TestAll"/>
   
   <path id="classpath">
     <fileset dir="${app.lib}" includes="**/*.jar"/>
     <pathelement location="${app.class}"/>
   </path>
   
   <!-- クリーン処理 -->
   <target name="clean" >
     <delete dir="${app.class}"/>
   </target>
   
   <!-- リソースファイルコピー -->
   <target name="copyResource" >
     <mkdir dir="${app.class}"/>
     <copy todir="${app.class}">
       <fileset dir="${app.src}">
         <exclude name="**/*.java"/>
         <exclude name="**/*.form"/>
       </fileset>
     </copy>
   </target>
   
   <!-- Javaのコンパイル -->
   <target name="compile" >
     <antcall target="copyResource"/>
     <mkdir dir="${app.class}"/>
     
     <javac includeantruntime="false" debug="true" srcdir="${app.src}" target="${app.java.version}" source="${app.java.version}" destdir="${app.class}" encoding="UTF-8">
       <classpath refid="classpath" />
     </javac>
   </target>
   
   <!-- Javaの実行 -->
   <target name="run" >
     <java fork="yes" classname="${app.mainclass}">
      <permissions>
         <grant class="java.security.AllPermission"/>
     </permissions>
       <classpath refid="classpath" />
     </java>
   </target>
   
   <!-- jarファイルの作成 -->
   <target name="jar">
     <jar basedir="${app.class}" jarfile="${app.jar}" manifest="${app.manifest}" />
   </target>
   
   <!-- ドキュメント作成 -->
   <target name="javadoc" >
     <javadoc encoding="UTF-8" 
       access="private" charset="UTF-8" 
       docencoding="UTF-8"
       destdir="${app.dist}/javadoc">
       <sourcepath path="${app.src}" />
     </javadoc>
   </target>
   
   <!-- Unit-Test -->
   <target name="UnitTest" >
     <!-- JUnitによるテストを実行 -->
     <junit fork="yes" haltonfailure="yes">
       <test name="${app.test.class}" />
       <formatter type="xml" usefile="true" />
       <classpath refid="classpath" />
     </junit>
     
     <!--<mkdir dir="report"/>
     <junit fork="yes" haltonfailure="yes">
       <batchtest fork="yes" todir="report">
         <fileset dir="${app.src}">
           <include name="**/Test*.java"/>
           <exclude name="**/TestAll.java"/>
         </fileset>
       </batchtest>
       <formatter type="xml"/>
       <classpath refid="classpath" />
     </junit>-->
     
     <!--Jenkinsには
     report/**/TEST-*.xml
     のように登録-->
   </target>
   
   <!-- デフォルトターゲット -->
   <target name="all" depends="compile,jar">
   </target>
   
 </project>


プロキシを使う

http://yoshimov.com/?page=Java%2FAnt%A4%CE%BD%E8%CD%FD%A4%C7Proxy%A4%F2%CD%F8%CD%D1%A4%B9%A4%EB

<property name="proxy.host" value="proxy.somewhere.com" />
<property name="proxy.port" value="8080" />
<setproxy proxyhost="${proxy.host}" proxyport="${proxy.port}" />

をテキトウな場所に入れる。

Javadoc

javadoc の ソースを指定する際に

<packageset dir="${dpk.src}" defaultexcludes="yes">  
  <include name="**/*" />  
</packageset>   

などのようにパッケージを設定しないとうまくいかないことがある。

Javaのバージョンを指定して実行する

https://sk44.hatenablog.com/entry/20130618/1371536295

JAVACMD=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64/jre/bin/java ant run
[カテゴリ: プログラミング言語 > Java]

[通知用URL]



  • Hatenaブックマークに追加
  • livedoorクリップに追加
  • del.icio.usに追加
  • FC2ブックマークに追加

最終更新時間:2023年11月17日 23時53分45秒