2012-01-30 126 views

答えて

40

src/main/resourcesディレクトリに何かを置くと、デフォルトでは最終的に*.jarになります。

  1. *.jar正しくセットされていません(パスで多分入力-O?)
  2. :あなたには、いくつかの他のプロジェクトからそれを参照しているし、それがクラスパス上に見つからない場合は、これら二つの過ちの一つをしました
  3. あなたは、例えば、正しくリソースに対処されていません。/src/main/resources/conf/settings.propertiesclasspath:conf/settings.properties
+2

URLプロトコル "classpath:"はSpring固有のものです。 – simon

51

あなたのクラスパスを強化するだろう、srcのサブフォルダ/メイン/リソースにあなたの設定ファイルを置くのクリーンな代替としてクラスパスに見られています場所。これはMavenで非常に簡単です。例えば

、新しいフォルダのsrc /メイン/ configにであなたのプロパティファイルを配置し、あなたのPOMに次の行を追加します。

<build> 
    <resources> 
     <resource> 
      <directory>src/main/config</directory> 
     </resource> 
    </resources> 
</build> 

今から、すべてのファイルのファイルSRC下/メイン/ configには(クラスパスの一部とみなされ、必要に応じて、あなたが最終的にjarファイルからそれらの一部を除外することができることに注意してください:ちょうどbuildセクションに追加します。

<plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jar-plugin</artifactId> 
      <configuration> 
       <excludes> 
        <exclude>my-config.properties</exclude> 
       </excludes> 
      </configuration> 
     </plugin> 
    </plugins> 

my-config.propertiesはIDEからアプリケーションを実行するときにクラスパスにありますが、最終配布ではあなたのjarの外部に残っています)。

+1

+1 |この機能のリファレンスドキュメントを見てください:http://maven.apache.org/pom.html#Resources – rwitzel

+1

私はこれを "クリーナー"としていますが、少なくとも、ディレクトリ構造は変更できません。大会に続いては常に清潔です – StormeHawke

関連する問題