SlideShare a Scribd company logo
1 of 12
Download to read offline
Apache	Antについて	
Javaツール勉強会@福岡 2015/11 吉村 武志
自己紹介	
吉村 武志	
福岡周辺の勉強会に

ちょくちょく参加して

togetterまとめたりしてる人	
Javaの勉強会やってますが、

仕事はClassic ASP &VB.Net	
趣味は音ゲーとかアナログゲーム(ボードゲーム・TRPG)
Apache Antについて(教科書知識)
Apache プロジェクトで開発されているJavaベースのビルド
ツール	
http://ant.apache.org/	
最新版はApache Ant 1.9.6(Jul 2, 2015)	
XML文書でビルドルールを書くのが特徴
さて、Antの説明をする前に	
Antなどのビルドツールが一切無い	
世界を考えてみましょう
ソースコードを書いた後、	
Javaで何がやりたいか	
(開発者寄りに)考えてみましょう
Javaで何をやりたいか?
コンパイルしたい! → javac	
コンパイルしたclassファイルを実行したい! → java	
テストしたい! → junit等 + java	
classファイルをまとめたい! → jar	
APIマニュアルを作りたい! → javadoc
ビルドツールが無かったら?
先ほどのjavacなどのコマンドを全て手で実行?

→さすがに.batや.shを作る	
.batや.shってことは?

→Javaは「Write Once Write Anywhere」なのに

 開発が環境依存?	
ほとんどが同じclasspathなのにそれぞれ書くの?
Antが解決したこと
ビルドのルールをXMLで書く事で、環境依存を吸収	
ビルド用のXMLに『タスク』を記述する事で、やりたいこ
との『タスク』を指定すれば実行できるように

例) ant build ソースコードをコンパイルしてjar化

   ant test ソースコードをコンパイルしてjunit実行

これらをbuild.xmlに集約して記述できるように
というわけで使い方
Antを使うには
Java SEをインストールしておく	
Antをインストール(Zip展開)しておく	
環境変数を設定しておく(JAVA_HOME、ANT_HOME、PATH)	
ビルド用のXML(通常build.xml)を作成する
ではFizzBuzzなソースを	
コンパイルして実行してみます。
という訳で伝えたい事
Antをとりあえず使うのは簡単	
Antのbuild.xmlの作成は面倒	
がっつり使う必要が出てきたら頭抱えてください	
mavenとgradleについて教えてください

More Related Content

What's hot

いまさら恥ずかしくてAsyncをawaitした
いまさら恥ずかしくてAsyncをawaitしたいまさら恥ずかしくてAsyncをawaitした
いまさら恥ずかしくてAsyncをawaitしたKouji Matsui
 
NorikraのJVMチューンで苦労している話
NorikraのJVMチューンで苦労している話NorikraのJVMチューンで苦労している話
NorikraのJVMチューンで苦労している話SATOSHI TAGOMORI
 
Making Editor written in Ruby version 20160611
Making Editor written in Ruby version 20160611Making Editor written in Ruby version 20160611
Making Editor written in Ruby version 20160611Langur
 
外国人旅行者向けラーメン店検索アプリを作る話@Code for KOSEN勉強会#1
外国人旅行者向けラーメン店検索アプリを作る話@Code for KOSEN勉強会#1外国人旅行者向けラーメン店検索アプリを作る話@Code for KOSEN勉強会#1
外国人旅行者向けラーメン店検索アプリを作る話@Code for KOSEN勉強会#1Yoshihiro Wada
 
【LT】 怖くない恐怖のScala.js
【LT】 怖くない恐怖のScala.js【LT】 怖くない恐怖のScala.js
【LT】 怖くない恐怖のScala.jsYuto Suzuki
 
Word pressのテーマは firephpでハックすれば 良かったのか
Word pressのテーマは firephpでハックすれば 良かったのかWord pressのテーマは firephpでハックすれば 良かったのか
Word pressのテーマは firephpでハックすれば 良かったのかHisateru Tanaka
 
コンパイラ指向ReVIEW
コンパイラ指向ReVIEWコンパイラ指向ReVIEW
コンパイラ指向ReVIEWMasahiro Wakame
 
Jpmobileを使ってみる
Jpmobileを使ってみるJpmobileを使ってみる
Jpmobileを使ってみるHiromu Shioya
 
食べログで動いている自作ライブラリのお話
食べログで動いている自作ライブラリのお話食べログで動いている自作ライブラリのお話
食べログで動いている自作ライブラリのお話Tsukasa Oishi
 
VMを改めて学んで見る
VMを改めて学んで見るVMを改めて学んで見る
VMを改めて学んで見るkishima7
 
errbit とは何なのか LT (社内勉強会用)
errbit とは何なのか LT (社内勉強会用)errbit とは何なのか LT (社内勉強会用)
errbit とは何なのか LT (社内勉強会用)Yukihiro Sunaga
 
PHP x AWS でスケーラブルなシステムをつくろう
PHP x AWS でスケーラブルなシステムをつくろうPHP x AWS でスケーラブルなシステムをつくろう
PHP x AWS でスケーラブルなシステムをつくろうTaiji INOUE
 
Phpのレガシーコードをrubyで焼き変えてみた
Phpのレガシーコードをrubyで焼き変えてみたPhpのレガシーコードをrubyで焼き変えてみた
Phpのレガシーコードをrubyで焼き変えてみたAkira Kaneda
 
PHP Application E2E with Capybara
PHP Application E2E with CapybaraPHP Application E2E with Capybara
PHP Application E2E with CapybaraYoshiaki Yoshida
 
Pythonで二段階認証
Pythonで二段階認証Pythonで二段階認証
Pythonで二段階認証aoshiman
 
Hashicorpツールズ
HashicorpツールズHashicorpツールズ
HashicorpツールズUchio Kondo
 
LT3「Python を使ってExcel ファイルの修正」
LT3「Python を使ってExcel ファイルの修正」LT3「Python を使ってExcel ファイルの修正」
LT3「Python を使ってExcel ファイルの修正」Takeshi Akutsu
 
プライベートAPIとの闘い
プライベートAPIとの闘いプライベートAPIとの闘い
プライベートAPIとの闘い107steps
 

What's hot (20)

いまさら恥ずかしくてAsyncをawaitした
いまさら恥ずかしくてAsyncをawaitしたいまさら恥ずかしくてAsyncをawaitした
いまさら恥ずかしくてAsyncをawaitした
 
NorikraのJVMチューンで苦労している話
NorikraのJVMチューンで苦労している話NorikraのJVMチューンで苦労している話
NorikraのJVMチューンで苦労している話
 
Making Editor written in Ruby version 20160611
Making Editor written in Ruby version 20160611Making Editor written in Ruby version 20160611
Making Editor written in Ruby version 20160611
 
外国人旅行者向けラーメン店検索アプリを作る話@Code for KOSEN勉強会#1
外国人旅行者向けラーメン店検索アプリを作る話@Code for KOSEN勉強会#1外国人旅行者向けラーメン店検索アプリを作る話@Code for KOSEN勉強会#1
外国人旅行者向けラーメン店検索アプリを作る話@Code for KOSEN勉強会#1
 
【LT】 怖くない恐怖のScala.js
【LT】 怖くない恐怖のScala.js【LT】 怖くない恐怖のScala.js
【LT】 怖くない恐怖のScala.js
 
Word pressのテーマは firephpでハックすれば 良かったのか
Word pressのテーマは firephpでハックすれば 良かったのかWord pressのテーマは firephpでハックすれば 良かったのか
Word pressのテーマは firephpでハックすれば 良かったのか
 
コンパイラ指向ReVIEW
コンパイラ指向ReVIEWコンパイラ指向ReVIEW
コンパイラ指向ReVIEW
 
Jpmobileを使ってみる
Jpmobileを使ってみるJpmobileを使ってみる
Jpmobileを使ってみる
 
食べログで動いている自作ライブラリのお話
食べログで動いている自作ライブラリのお話食べログで動いている自作ライブラリのお話
食べログで動いている自作ライブラリのお話
 
進撃のSbt
進撃のSbt進撃のSbt
進撃のSbt
 
VMを改めて学んで見る
VMを改めて学んで見るVMを改めて学んで見る
VMを改めて学んで見る
 
errbit とは何なのか LT (社内勉強会用)
errbit とは何なのか LT (社内勉強会用)errbit とは何なのか LT (社内勉強会用)
errbit とは何なのか LT (社内勉強会用)
 
OSC 2011 KeySnail
OSC 2011 KeySnailOSC 2011 KeySnail
OSC 2011 KeySnail
 
PHP x AWS でスケーラブルなシステムをつくろう
PHP x AWS でスケーラブルなシステムをつくろうPHP x AWS でスケーラブルなシステムをつくろう
PHP x AWS でスケーラブルなシステムをつくろう
 
Phpのレガシーコードをrubyで焼き変えてみた
Phpのレガシーコードをrubyで焼き変えてみたPhpのレガシーコードをrubyで焼き変えてみた
Phpのレガシーコードをrubyで焼き変えてみた
 
PHP Application E2E with Capybara
PHP Application E2E with CapybaraPHP Application E2E with Capybara
PHP Application E2E with Capybara
 
Pythonで二段階認証
Pythonで二段階認証Pythonで二段階認証
Pythonで二段階認証
 
Hashicorpツールズ
HashicorpツールズHashicorpツールズ
Hashicorpツールズ
 
LT3「Python を使ってExcel ファイルの修正」
LT3「Python を使ってExcel ファイルの修正」LT3「Python を使ってExcel ファイルの修正」
LT3「Python を使ってExcel ファイルの修正」
 
プライベートAPIとの闘い
プライベートAPIとの闘いプライベートAPIとの闘い
プライベートAPIとの闘い
 

Similar to Apache Antについて

Kafka logをオブジェクトストレージに連携する方法まとめ
Kafka logをオブジェクトストレージに連携する方法まとめKafka logをオブジェクトストレージに連携する方法まとめ
Kafka logをオブジェクトストレージに連携する方法まとめKeigo Suda
 
HTML5 アプリ開発
HTML5 アプリ開発HTML5 アプリ開発
HTML5 アプリ開発tomo_masakura
 
2006-04-22 CLR/H #14 .NET and open source
2006-04-22 CLR/H #14 .NET and open source2006-04-22 CLR/H #14 .NET and open source
2006-04-22 CLR/H #14 .NET and open sourceYoshiyuki Nakamura
 
2014-07-26 jawsug-chiba ドキュメントを書こう! 運用自動化時代のドキュメンテーション
2014-07-26 jawsug-chiba ドキュメントを書こう! 運用自動化時代のドキュメンテーション2014-07-26 jawsug-chiba ドキュメントを書こう! 運用自動化時代のドキュメンテーション
2014-07-26 jawsug-chiba ドキュメントを書こう! 運用自動化時代のドキュメンテーションOperation Lab, LLC.
 
第1回 AIR Native Extension Lab 研究報告会
第1回 AIR Native Extension Lab 研究報告会第1回 AIR Native Extension Lab 研究報告会
第1回 AIR Native Extension Lab 研究報告会Sadao Tokuyama
 
Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)
Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)
Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)NTT DATA OSS Professional Services
 
Do you like scala
Do you like scalaDo you like scala
Do you like scalaYuto Suzuki
 
Pyconjp2016 pyftplib
Pyconjp2016 pyftplibPyconjp2016 pyftplib
Pyconjp2016 pyftplibShinya Okano
 
Homebrewによるソフトウェアの実装 (3)
Homebrewによるソフトウェアの実装 (3)Homebrewによるソフトウェアの実装 (3)
Homebrewによるソフトウェアの実装 (3)Yoshihiro Mizoguchi
 
Laravel_オープンソースカンファレンスhokkaido_JP_2014
Laravel_オープンソースカンファレンスhokkaido_JP_2014Laravel_オープンソースカンファレンスhokkaido_JP_2014
Laravel_オープンソースカンファレンスhokkaido_JP_2014Yuuki Takezawa
 
Lightweight-Stream-APIのあるAndroidアプリ開発
Lightweight-Stream-APIのあるAndroidアプリ開発Lightweight-Stream-APIのあるAndroidアプリ開発
Lightweight-Stream-APIのあるAndroidアプリ開発Shinobu Okano
 
Zappa で Serverless CMS を作ってみる
Zappa で Serverless CMS を作ってみるZappa で Serverless CMS を作ってみる
Zappa で Serverless CMS を作ってみるIosif Takakura
 
Rancher meetup 20161007
Rancher meetup 20161007Rancher meetup 20161007
Rancher meetup 20161007Tetsurou Yano
 
Snappy Ubuntu Coreで遊んでみる 2015-06-20
Snappy Ubuntu Coreで遊んでみる 2015-06-20Snappy Ubuntu Coreで遊んでみる 2015-06-20
Snappy Ubuntu Coreで遊んでみる 2015-06-20Nobuto Murata
 
Apache NiFi 流れるデータにもスキーマを
Apache NiFi 流れるデータにもスキーマをApache NiFi 流れるデータにもスキーマを
Apache NiFi 流れるデータにもスキーマをKoji Kawamura
 
Cognito User Poolsからの~ (JAWS-UG Osaka 第15回勉強会 AWS Summit Tokyo 2016 アップデート追っ...
Cognito User Poolsからの~ (JAWS-UG Osaka 第15回勉強会  AWS Summit Tokyo 2016 アップデート追っ...Cognito User Poolsからの~ (JAWS-UG Osaka 第15回勉強会  AWS Summit Tokyo 2016 アップデート追っ...
Cognito User Poolsからの~ (JAWS-UG Osaka 第15回勉強会 AWS Summit Tokyo 2016 アップデート追っ...Mitsuhiro Yamashita
 
インフラ自動化とHashicorp tools
インフラ自動化とHashicorp toolsインフラ自動化とHashicorp tools
インフラ自動化とHashicorp toolsUchio Kondo
 
Scalaでのプログラム開発
Scalaでのプログラム開発Scalaでのプログラム開発
Scalaでのプログラム開発Kota Mizushima
 

Similar to Apache Antについて (20)

Kafka logをオブジェクトストレージに連携する方法まとめ
Kafka logをオブジェクトストレージに連携する方法まとめKafka logをオブジェクトストレージに連携する方法まとめ
Kafka logをオブジェクトストレージに連携する方法まとめ
 
HTML5 アプリ開発
HTML5 アプリ開発HTML5 アプリ開発
HTML5 アプリ開発
 
2006-04-22 CLR/H #14 .NET and open source
2006-04-22 CLR/H #14 .NET and open source2006-04-22 CLR/H #14 .NET and open source
2006-04-22 CLR/H #14 .NET and open source
 
2014-07-26 jawsug-chiba ドキュメントを書こう! 運用自動化時代のドキュメンテーション
2014-07-26 jawsug-chiba ドキュメントを書こう! 運用自動化時代のドキュメンテーション2014-07-26 jawsug-chiba ドキュメントを書こう! 運用自動化時代のドキュメンテーション
2014-07-26 jawsug-chiba ドキュメントを書こう! 運用自動化時代のドキュメンテーション
 
第1回 AIR Native Extension Lab 研究報告会
第1回 AIR Native Extension Lab 研究報告会第1回 AIR Native Extension Lab 研究報告会
第1回 AIR Native Extension Lab 研究報告会
 
Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)
Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)
Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)
 
Do you like scala
Do you like scalaDo you like scala
Do you like scala
 
Pyconjp2016 pyftplib
Pyconjp2016 pyftplibPyconjp2016 pyftplib
Pyconjp2016 pyftplib
 
Homebrewによるソフトウェアの実装 (3)
Homebrewによるソフトウェアの実装 (3)Homebrewによるソフトウェアの実装 (3)
Homebrewによるソフトウェアの実装 (3)
 
Laravel_オープンソースカンファレンスhokkaido_JP_2014
Laravel_オープンソースカンファレンスhokkaido_JP_2014Laravel_オープンソースカンファレンスhokkaido_JP_2014
Laravel_オープンソースカンファレンスhokkaido_JP_2014
 
Lightweight-Stream-APIのあるAndroidアプリ開発
Lightweight-Stream-APIのあるAndroidアプリ開発Lightweight-Stream-APIのあるAndroidアプリ開発
Lightweight-Stream-APIのあるAndroidアプリ開発
 
Zappa で Serverless CMS を作ってみる
Zappa で Serverless CMS を作ってみるZappa で Serverless CMS を作ってみる
Zappa で Serverless CMS を作ってみる
 
Rancher meetup 20161007
Rancher meetup 20161007Rancher meetup 20161007
Rancher meetup 20161007
 
20150803 baas meetup
20150803 baas meetup20150803 baas meetup
20150803 baas meetup
 
Snappy Ubuntu Coreで遊んでみる 2015-06-20
Snappy Ubuntu Coreで遊んでみる 2015-06-20Snappy Ubuntu Coreで遊んでみる 2015-06-20
Snappy Ubuntu Coreで遊んでみる 2015-06-20
 
Apache NiFi 流れるデータにもスキーマを
Apache NiFi 流れるデータにもスキーマをApache NiFi 流れるデータにもスキーマを
Apache NiFi 流れるデータにもスキーマを
 
Cognito User Poolsからの~ (JAWS-UG Osaka 第15回勉強会 AWS Summit Tokyo 2016 アップデート追っ...
Cognito User Poolsからの~ (JAWS-UG Osaka 第15回勉強会  AWS Summit Tokyo 2016 アップデート追っ...Cognito User Poolsからの~ (JAWS-UG Osaka 第15回勉強会  AWS Summit Tokyo 2016 アップデート追っ...
Cognito User Poolsからの~ (JAWS-UG Osaka 第15回勉強会 AWS Summit Tokyo 2016 アップデート追っ...
 
インフラ自動化とHashicorp tools
インフラ自動化とHashicorp toolsインフラ自動化とHashicorp tools
インフラ自動化とHashicorp tools
 
Scalaでのプログラム開発
Scalaでのプログラム開発Scalaでのプログラム開発
Scalaでのプログラム開発
 
Maven基礎
Maven基礎Maven基礎
Maven基礎
 

Apache Antについて