2011-08-12 10 views
2

私はMavenプロジェクトの開発にEclipseを使用しています。Mavenプロジェクト用にEclipseで文字列を「リソース」に外部化する方法は?

Eclipseでexternalize Stringsウィザードを使用しようとしました。デフォルトでは、結果としてmessages.propertiesは "src/main/java"フォルダ内に配置されます。しかし、プロジェクトをMavenでパッケージ化すると、作成されたjarファイルからプロパティファイルが取り出されます。したがって、私はmessage.propertiesを "src/main/resources"フォルダに移動しようとしましたが、Eclipseがそれを受け入れないようです!

pom.xmlは企業ではかなり標準化されているので、私はむしろ変更しません。だから、Eclipseが "src/main/java"からプロパティファイルを受け取るように強制する方法はありますか?

ありがとうございました。

+0

以前のsrc/main/javaと同じように、適切なパッケージ構造をsrc/main/resourcesに作成しましたか? – khmarbaise

+0

はい、作成した特定のパッケージに入れようとしましたが、リソースフォルダのルートにも入れようとしました。これらのどれも働かなかった! –

+0

私は 'src/main/resources'にmessages.propertiesファイルを設定しています。私のプロジェクトは正常に動作します。あなたは春を使っていますか? – Ali

答えて

1

あなたが持っているアプリケーションのサーブレットコンテキストであることを確認して、春を使用している場合:あなたのJSPで

<resources mapping="/resources/**" location="/resources/" /> 

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 
<fmt:message key="whatever.key.from.message.file" /> 
1

あなたはEclipseで外部化文字列ウィザードを使用した後、それはプロパティファイルをsrc/main/javaに置くので、プロパティファイルをsrc/main/resources(リファクタリング/移動または外食のいずれかでEclipseに移動)し、プロジェクトで次のコマンドを実行してeclipseプロジェクトファイルを再作成しますルートフォルダからコマンドライン

mvn eclipse:eclipse 

その後、Eclipseをクリーンアップし、プロジェクトをリフレッシュします。

2

私はこのためにeclipse.orgにbug 369296を作成しました。その過程で、回避策が見つかりました。 m2eプラグイン(eclipseでmavenプロジェクトを管理する)がすべてのリソースディレクトリに "**"の除外フィルタを追加することが判明しました。この除外フィルタは、NLSウィザードがそのリソースディレクトリをソースフォルダとして使用できないようにします。

この問題を回避するには、eclipseでビルドパスを編集し、src/main/resourcesフォルダから**除外を削除します。次に、NLSウィザードを実行して、実行するすべてのNLS-yを実行します。最後に、m2eがプロジェクト構成を再生成して、**除外を再追加します。

これが役に立ちます。彼らは私のバグを修正しようとしているようです。

関連する問題