2020年5月21日JavaではPHPやRubyなどといったインタプリタ言語とは違い、ソースはクラスファイルといわれるファイルに変換する必要があります。この作業をコンパイルと呼びます。最低限この作業をやらないとプログラムとして機能しません。複雑なソースになりますと、コンパイルだけではだめで、テストをしたり、以前のファイルを削除したり、jarファイルとしてまとめたりします。このような一連の作業を行う一括で行うツールをビルドツールと呼びます。Mavenビルドツール私もJavaを学習したての一番最初のころはコマンドプロンプトで作業をしていました。単純なファイルだったらこれでよいですが、実務で使われるようなファイルをこのように対応するのは無理でしょう。これがまたかなり面倒で、なれないうちはイライラの元であり、私もJavaが嫌いになりそうでした(汗)手作業で無理、と思った方が次に考えるのはバッチやシェルスクリプトなどかと思います。自分の手で作ったものですとカスタマイズでき、柔軟性がある反面、どこかしらにエラーや漏れがあることが多いです。似たような処理をみんなが行うことからJavaでは下記のようなビルドツールが一般的です。Ant古くから使われているビルドツールです。ファイルの構成は下記のような流れです。基本的には1つの実行単位をプロジェクトと定義し、<project>タグで囲みます。その中で実際に行う1つ1つのタスクをtargetといいます。(下記が)イメージです。name="task2"></target></project>targetのプロパティはname(名称)だけでなく、下記のようなプロパティが追加できます。×また1つ1つのtargetのなかには値をプロパティとして保存させたり、xml形式で実行させたいコマンドを定義できます。コマンドラインからたたくとHello,worldが表示されます。ちなみに下記リンクを参考にしました。http://www.javadrive.jp/ant/buildxml/index1.htmlMavenAntの機能を内包し、さらに機能が拡張されたのがmavenです。下記のような特徴があります。Antの機能は全て内包している単なるビルドツールだけではなく、プロジェクト管理ツールでもあるプラグインの依存管理を一元化できるソース変更履歴管理などの機能を有するmavenを使用した場合、下記のようにメインのソースコートとテストコードが分かれることが一般的です。Webアプリケーションファイル(WARプロジェクトのみ)。直下にWEB-INFがある。ユニットテスト時に利用されるリソースファイル。デプロイ時には適用されない。Webアプリケーションファイル(WARプロジェクトのみ)。直下にWEB-INFがある。ユニットテスト時に利用されるリソースファイル。デプロイ時には適用されない。プロジェクト用Webサイトの構築時に利用されるファイルpom.xmlについてAntがbuild.xmlでビルドを定義するようにmavenではpom.xmlというファイルでタスクを定義します。基本的にはプロジェクトの情報をXML形式でもち、以下のようなプロパティが設定されます。変更する必要はありません。プロジェクトを一意に識別する名前。プロジェクトのルートパッケージ名を指定するのが一般的です。プロジェクトの成果物の名前。ファイルなどの名前に使用されます。作成する成果物のパッケージング・タイプ。プロジェクトのバージョン。プロジェクトの表示名。ドキュメントを作成するときなどに使用されます。ドキュメントを作成するときなどに使用されます。プロジェクトが依存するライブラリの情報。←ここに依存ライブラリを書くため、追加することが多い。dependenciesについてJunitへの依存性はディフォルトで行われる。dependenciesの中に書かれるscopeというタグは依存するライブラリがいつクラスパスに通されるかを指定できます。</dependency>123456<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.10</version><scope>test</scope></dependency>となっていたらtest時にクラスパスに通されます。指定を省略した場合のデフォルト値です。全ての状況でクラスパスに追加されます。コンテナによって提供される場合に指定します。コンパイル時のみクラスパスに追加されます。実行時のみに必要な場合に指定します。テストの実行および通常の実行のときにクラスパスに追加されます。テストのときのみ必要な場合に指定します。テストのコンパイルと実行のときにクラスパスに追加されます。明示的にクラスパスに追加する場合に指定します。このスコープのライブラリは常に有効であるとみなされ、リポジトリの検索は行われません。スコープに関してはくわしくはこちらhttp://www.techscore.com/tech/Java/ApacheJakarta/Maven/3/プラグインを設定したい場合はbuildタグ以降に下記のように書くことが多いです。ちなみにpom.xmlに書かない場合はコンソールからコマンドを打ち込むときに引数を渡します。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。その2Java(JavaEE)をやりだして半年ぐらいたつんですが、個人的に鬼門だとおもっていたのが下記内容です。...BeanValidationの動的メッセージ出力についてJSF+ManagedBeanでは基本的にbeanValidationを使ってバリデーションを行い、エラーメッセージなどはプロパティファイルで管理するのが一般的です。...ガベージコレクタに関して本日はガベージコレクタに関して。...依存関係エラーJavaEEで新PCでビルドしたらいきなりエラー。同一のソースを別PCで動かすと正常に立ち上がります。...JPAまとめJPAわけわかんねーと思い、触りはじめてから3か月ぐらいたちます。