[解決済み] なぜ誰もJavaのmakeを使わないのですか?
質問
私が見てきたほぼすべてのJavaプロジェクトは、MavenかAntを使っていました。 これらは素晴らしいツールで、ほぼすべてのプロジェクトがこれらを使用できると思います。 しかし、これまで 作る ? Java以外の様々なプロジェクトに使われていて、簡単にJavaを扱うことができます。 確かにWindowsを使っている場合はmake.exeをダウンロードする必要がありますが、AntやMavenにもJDKは付属していません。
Javaで使う場合、makeには何か根本的な欠陥があるのでしょうか? AntやMavenがJavaで書かれているからというだけなのでしょうか?
解決方法は?
MakeとJavaの根本的な問題は、Makeは依存関係を指定し、その依存関係を解決するためのルールを指定することを前提に動作することです。
基本的な C 言語では、main.c ファイルを main.o ファイルに変換するには "cc main.c" と実行するのが一般的です。
javaでもできるんですが、すぐに何かを覚えてしまうんです。
主にjavacコンパイラの起動が遅いということです。
との違い。
javac Main.java
javac This.java
javac That.java
javac Other.java
そして
javac Main.java This.java That.java Other.java
は夜と昼。
さらに、何百ものクラスがあるとなると、もうどうしようもありません。
さらに、C言語などのフラットな構造に対して、Javaはディレクトリ内のファイル群として構成される傾向があるという事実が加わります。Makeは、ファイルの階層を扱うための直接的なサポートはあまり持っていません。
また、コレクションレベルで、どのファイルが古くなっているかを判断するのも苦手です。
Antでは、期限切れのファイルをすべて調べて合計し、一度にコンパイルします。Makeは、個々のファイルに対して、単にjavaコンパイラを呼び出すだけです。Makeにこれをさせないためには、十分な外部ツールが必要で、Makeがこのタスクに全く対応できていないことがよくわかります。
だから、AntやMavenのような代替手段が台頭してきたのです。
関連
-
スタイルが読み込まれず、ブラウザコンソールでエラーが報告される。リソースはスタイルシートとして解釈されますが、MIMEタイプtext/htmlで転送されます。
-
アクセス制限について アプリケーションの種類がAPIでない(必要なライブラリの制限)。
-
javaでクラスを作成すると、enclosing classでないように見える
-
[解決済み] この2回(1927年)を引き算すると、なぜおかしな結果になるのでしょうか?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] なぜパスワードにはStringではなくchar[]が好まれるのですか?
-
[解決済み] Java で、あるコンストラクタを別のコンストラクタから呼び出すにはどうすればよいですか?
-
[解決済み】なぜJavaの+=, -=, *=, /=複合代入演算子はキャスティングを必要としないのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
java.util.NoSuchElementException 原因解析と解決方法
-
IllegalArgumentException この例外を解決する方法
-
final, finally, finalizeの違いについて話してください。
-
スレッド "main" での例外 java.lang.ArrayIndexOutOfBoundsException: 1
-
スレッド "main" で例外発生 java.lang.ArrayIndexOutOfBoundsException: 4 at text.Division.main(Divisi
-
マスキング このリソースにアクセスするには、完全な認証が必要です。
-
HttpClientがGZIP形式でない場合の対処法
-
java -serverコマンドで「Error: no `server' JVM at ... jvm.dll」を解決する方法です。
-
Java(1)仕上げの基本概念+eclipseのインストール構成
-
ローカルリソースのロードが許可されていない場合の解決策