2017-08-16 2 views
0

プロジェクトのベースディレクトリにconfigフォルダがあります。私が戦争を構築しようとしているとき、フォルダはwarファイルに追加されていません。私はこのフォルダを使ってlog4j.propertiesを読む外部のjarファイルを持っています。Mavenを使用してWARを作成するときに外部設定フォルダを含める

Inisdeジャーコード:( "設定/ log4j.properties")

私は私がのcon​​fig/log4j.propertiesはパスが見つかりません取得していますtomcatのサーバーでアプリケーションにアクセスしようとしています。

現在のフォルダ構造

プロジェクト--src /メイン/ --src /試験 --src /リソース --lib --config(コンフィグlog4j.properties内部) --target

libフォルダの中に私はmavenプラグインでwarファイルの中に追加しているカスタムjarを持っています。 そのカスタムjarはlog4jプロパティの設定フォルダを読み込んでいます。これはspringboot app.whenです。私はその作業ファイルをEclipseで実行しようとしています。しかし、私は戦争を構築して、手動でwarcatに戦争を展開しようとしています。カスタムjarが読むことができるように、どこにこのconfigフォルダを戦争の中に置いておくべきかわかりません。

+0

助けてください。私は2日以来これで苦労しています –

答えて

0

メイヴェンは、慣習を採用したときに井戸の傾向がありますが、そうしないと作業が停止することがあります。 私の助言は、Maven Standard Directory Layoutに従ってプロジェクトを構成することです。このプロジェクトの構造を考えると

src 
| |-- main 
| | |-- resources 
| | | |-- config 
| | | | | -- log4j.properties 

のMaven WARプラグインは、デフォルトでは、このコンテンツを使用してWARを作成します。

WEB-INF 
| |-- ... 
| | 
| |-- config 
| |  -- log4j.properties  

ので、設定/ log4jのをロードしようと何でも。クラスパスのプロパティでlog4j.propertiesファイルが見つかる

実際にconfigフォルダをsrc/main/resourcesに移動できない場合は、例えば、add an external resourceへのMaven WARプラグインをSE:あなたが得るかのようにあなたのプロジェクトのルートからconfigを移動した場合

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-war-plugin</artifactId> 
    <version>3.1.0</version> 
    <configuration> 
     <webResources> 
     <resource> 
      <directory>config</directory> 
      <targetPath>WEB-INF/config</targetPath> 
     </resource> 
     </webResources> 
    </configuration> 
    </plugin> 

これは、同じ最終結果すなわちあなたのWAR内WEB-INF/configにコピーされlog4j.propertiesになります〜src/main/resources

+0

そのWokringではありません。 –

+0

おそらくいくつかの詳細を教えてください。あなたが試したこと、起こったこと、まさに「Wokringではない」ということを説明するかもしれません。あなたが返事をしたら、元の質問を更新してください。コメントよりも質問を読む方がはるかに簡単です。 – glytching

+0

私は自分の質問を更新しました。確認してください。 –

関連する問題