VsCode & AntでJavaをコンパイルするやり方


目的

Javaのビルドの仕組みについて深く学習し、ビルドツールを習得し、Eclipseなしでの軽量・簡素な学習環境を構築する。
対象者:Javaはわかるけど環境構築やデプロイが苦手な人、勤務先がAntを使っているので触れておきたい人。ちなみに私がこれ。
筆者の環境:macOS
前提:JavaVMへのパスは通っていてjavacコマンドが動く。

Antをインストールする

Ant公式でダウンロードできる。

ここから、zip形式の最新のものをダウンロードする。

そのままでもいいけど後で環境変数に記述するので短い名前に変えてもいい。
どこに配置してもいいけど、私はホームディレクトリに配置しました。
ここではapache-antにしました。

mv apache-ant ~/

パスを通す

cd 
vim .bash_profile

でパス設定ファイルが開くので、(引数なしでCDコマンド打つとHOMEディレクトリに行きます)

ANT_HOME=~/apache-ant/bin
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/library/java/JavaVirtualMachines/jdk-12.0.1.jdk/contents/home/bin:$ANT_HOME
if [ -f ~/.bashrc ]; then
  . ~/.bashrc
fi

上記のような感じでパスを追加します。
ANT_HOME=~apache-ant/bin
:$ANT_HOME
が追加したところです。他は人によって違うのでこれを丸ごとコピペしたら他のコマンドが壊れるかもしれないので注意してください。

ant --version

で反応があったらインストール成功です。

ソースを用意する

ディレクトリ構成

binにビルド成果物を、srcにソースコードを入れます。
・・ということをbuild.xmlに記述します。

build.xml
<?xml version="1.0" encoding="UTF-8" ?>
<project name="HelloAnt" default="default" basedir=".">
  <target name="default">
    <javac srcdir="./src/" destdir="./bin/"/>
  </target>
</project>

<?xml version="1.0" encoding="UTF-8" ?>はおまじない。多分これを書かないと文字化けしたりするってことでしょう。慣れるまで
毎回コピペで良さそうHTMLのDOCTYPE宣言みたいなものだと思います。

<project>のくくりでeclipseのプロジェクト一つ分だと思う。
<target>に具体的な支持を書いていく。依存とかこの名前でしていくらしい。
<javac>javacコマンドにパスが指定できるもの。さっきのbinとsrcはここで指定しています。
つまりこれを変えると好きなところにビルドできることに。
普通はbinとsrcって書くと思いますが。

Main.java
class Main{

  public static void main(String args[]){
    System.out.println("hello ant");
  }
}

これをsrcディレクトリに配置したら準備完了です。

ビルドする

build.xmlのあるディレクトリに移動して下のコマンドを打つだけです。

ant

BUILD SUCCESSFUL
と表示されたら成功です。binディレクトリにMain.classができているはず。