2012-02-03 5 views
1

すべてのJavaファイルをコンパイルするmakefile。ビルドフラグに応じて変数値を使用するJavaコード

+1

これは一般に、 '-D'コンパイラフラグを使ってCで行うように、Javaでは実際には不可能です。環境によってJavaプログラムが異なる動作をする必要がある場合は、値を構成ファイルに入れて、プログラムの起動時にその値を読み込みます。 – millimoose

+3

また、 'make'は実際にJavaで使うビルドシステムではありません。 – millimoose

答えて

1

過去に複数回これをやったことは、フラグに応じてJavaファイルを生成することです。 antを使用している場合、このコード生成は非常に簡単です。それ以外の場合は、プレースホルダ付きのテンプレートファイルを使用し、シェルスクリプトなどを使用してファイルを生成することができます。

1

antには、replace taskを使用してビルドの一部としてファイルを変更できます。

これは私たちのビルドで行いますが、これを使ってアプリケーションが設定可能な動作について読み込むJava .propertiesファイルを変更します。

0

Google GuiceとApache CLIの組み合わせを使って、フラッグ制御型の変数をコンストラクタに注入することで、かなり快適なフラグ制御システムを作成しました。

関連する問題