2017-05-10 40 views
0

私は春の起動アプリケーション(1.5バージョン)にmavenを使用しています。 src/main/resourcesには、abc.propertiesapp.jsonのようなファイルがあります。以下は私が達成したいと思ういくつかのポインタです。mavenのリソースディレクトリからファイルを除外します

  1. これらのファイルをjarファイルに含めないように除外します。
  2. intellijでアプリケーションを実行すると、これらのファイルはクラスパスで使用できるようになります。

私は関連する回答を見ましたが、私の場合は一致しません。なにか提案を?

+1

なぜ彼らは瓶の中にいてはいけませんか? 'src/main/resources'には、アプリケーションのリソースだけが必要です。実行時には – Jens

+0

が必要です。これらのファイルの内容が変更され、毎回jarを再作成する必要があるからです。 – ProgrammerBoy

+0

ファイルはいつ変更されますか? – Jens

答えて

1

あなたはMavenのPOMファイルにresouceタグを使用することができます。より多くの情報については

<resources> 
     <resource> 
     <directory>[your directory]</directory> 
     <excludes> 
      <exclude>[non-resource file #1]</exclude> 
      <exclude>[non-resource file #2]</exclude> 
      <exclude>[non-resource file #3]</exclude> 
      ... 
      <exclude>[non-resource file #n]</exclude> 
     </excludes> 
     </resource> 
     ... 
    </resources> 

は、以下を参照してください。https://maven.apache.org/plugins/maven-resources-plugin/examples/include-exclude.html

+0

現在、私の質問でポイント2についてはどうですか? – ProgrammerBoy

0

私の理解では、それが利用可能である、あなたはいくつかの設定ファイルが欲しい

  1. ですランタイム中のクラスパス内
  2. このような設定ファイルは、環境
  3. に基づいて変更されます私が行うために使用

方法は次のとおりです。

  1. 例えば、リソースのような種類のために別のディレクトリを作成します。 src/main/appconfig/
  2. (私は通常、POMでtestResourceでこれを入れてソースフォルダとして手動でこのディレクトリを追加します。私は、Eclipse + M2Eを使用すると、IDEでPOMのリソースで、この(つまり、それらはJARを結果に含まれません)
  3. が含まれていません、testResourceがソースフォルダーとして追加されます。

ポイント2は少し違っていました。除外するのではなく、結果のJARに別のディレクトリ(appconfig-templateなど)に含めて、アプリケーションを使用している人がこれを環境設定の参照として使用できるようにします。

3の代替案は、appconfigを含むresourceという別のプロファイルを作成することです。このプロファイルは、IDEセットアップでのみ使用しますが、アーティファクトの構築には使用しないでください。

関連する問題