私たちはCで書かれたシステムをJavaに移行しており、既存のプロセスを保持する必要があります(議論はありません)。 xxx.cファイルは、その後、「COMP_ARG」を使用することができ、その値はコードに埋め込まれます実行時にJavaコンパイル時のパラメータにアクセスするにはどうすればよいですか?
cc -o xxx.o -DCOMP_ARG='"compile time arg"' xxx.c
と私たち:我々は現在、例えば、Cプリプロセッサを使用してCアプリケーションにコンパイル時の情報を「埋め込みます」それが誤って変更される心配はほとんどありません。
Javaはプロパティファイルを使用したいと思いますが、いくつかの情報**がコードに埋め込まれているため、プロパティファイルはオプションではありません。これらの値は実行時に指定できません。要点を説明するために、そのようなデータは、ファイルがコンパイルされた日付スタンプであってもよいが、正確なデータはその質問とは無関係である。
コンパイル時に、Javaコードで使用可能なさまざまな値を指定する方法を探しています。 JavaはCと同様にプリプロセッサを持っていないので、メカニズムは異なっていることは十分認識しています。
現在のソリューションではコード生成ステップ(Maven)を使用していますが、Eclipseはソースファイルを処理しようとしているため、「自動ビルド」をオフにしています。より堅牢なソリューションを探したいと思っています。
ご協力いただきありがとうございます。
プロパティのプロパティの処理? 「Eclipseはソースファイルを処理しようとしています。」とはどういう意味ですか?生成されたファイルのサンプルを投稿できますか? –
はたぶんhttp://stackoverflow.com/questions/25377900/how-to-create-a-dynamic-interface-with-properties-file-at-compile-timeは読み –
ザ・Eclipseの問題は別以外の無関係です価値がありますMavenフィルタを使用してテンプレートファイルを実行しないようにする理由 - この解決策は私たちをMavenにロックします。 – Jim