開発は Maven でやるが、納品した後にインターネットにアクセスできない環境でもビルドできるように Ant でもビルドできるようにしたいときの build.xml のひな形

/nas/apps/src/MyApp?/build.sh

#!/bin/bash
export JAVA_HOME=/usr/lib/jvm/jre-1.6.0-openjdk/bin/java
export ANT_HOME=/nas/apps/src/tools/apache-ant-1.8.2

export PATH=/bin:$JAVA_HOME/bin:$ANT_HOME/bin

ant

# build に成功していた場合には Jar ファイルをコピー
if [ -f /nas/apps/src/MyApp/target/MyApp.jar ]; then
  cp /nas/apps/src/MyApp/target/MyApp.jar /nas/apps/bin/MyApp/MyApp.jar
fi

/nas/apps/src/MyApp?/build.xml

<?xml version="1.0" encoding="UTF-8"?>
<project name="MyApp" default="build" basedir=".">
 
  <property file="build.properties" />
 
  <path id="class.path">
    <fileset dir="${libDir}">
      <include name="**/*.jar" />
    </fileset>
  </path>
 
  <target name="build" depends="clean,compile,jar" />
 
  <target name="clean">
    <delete dir="${destDir}" />
    <mkdir dir="${destDir}"/>
    <mkdir dir="${destDir}/classes"/>
  </target>
 
  <target name="compile"
    description="ソースコードのコンパイルをします">
    <javac 
      srcdir="${srcDir}"
      excludes="${excludes}"
      destdir="${destDir}/classes"
      deprecation="${javac.deprecation}"
      debug="${javac.debug}"
      optimize="${javac.optimize}"
      encoding="${javac.encoding}"
      source="${javac.source}"
      target="${javac.target}"
      classpathref="class.path" 
      includeantruntime="false" />
      
    <copy
      todir="${destDir}/classes"
      preservelastmodified="yes" >
      
      <fileset dir="${resourceDir}">
        <include name="**/*" />
      </fileset>
    </copy> 
  </target>
  
  <target name="jar">
    <jar
      jarfile="${destDir}/${ant.project.name}.jar"
      manifest="manifest.txt">
      
      <fileset dir="${destDir}/classes">
      </fileset>
    </jar>
  </target>
</project>

/nas/apps/src/MyApp?/build.properties

##
# dir setting (build.xml の basedir からの相対指定)
##
srcDir=./src/main/java
resourceDir=./src/main/resources
destDir=./target
libDir=../../bin/MyApps

##
# javac setting
##
javac.debug=on
javac.deprecation=on
javac.optimize=off
javac.encoding=UTF-8
javac.target=6
javac.source=6

manifest.txt

Manifest-Version: 1.0
Main-Class: com.snail.some.App

Java Ant


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS   sitemap
Last-modified: 2012-05-03 (木) 13:59:17 (1677d)
ISBN10
ISBN13
9784061426061