0

Spring は、src/main/resources 内でプロパティ ファイル (MyPropFile.properties) を見つけることができず、以下のような例外をスローします。

java.io.FileNotFoundException: class path resource [file*:/src/main/resources/MyPropFile.properties] cannot be opened because it does not exist

しかし、プロジェクトのルート (MyProject/MyPropFile.properties) に MyPropFile.properties を配置すると、Spring がそれを見つけて、プログラムが適切に実行されます。

.properties ファイルを src/main/resources 内に配置できるようにこれを構成するにはどうすればよいですか

これは私の名前空間です

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
    http://www.springframework.org/schema/aop 
    http://www.springframework.org/schema/aop/spring-aop-3.0.xsd 
    http://www.springframework.org/schema/context
 http://www.springframework.org/schema/context/spring-context-3.0.xsd
    ">

これは私の豆です

<context:property-placeholder location="classpath:MyPropFile.properties" />

ジャワ:

@Value("${message.fromfile}")
      private String message;

よろしくお願いします。

4

4 に答える 4

1

Mavenがこれをターゲットディレクトリにコピーし、クラスパスが適切に設定されることを期待しています。Maven がコンパイル時以外にソースディレクトリを検索することは期待できません。

于 2013-10-14T10:36:28.480 に答える
0

クラスパスの場所の下にある必要があるファイルリソースを処理するための正しいサニタイズされた方法である@ryanpソリューションへの補遺として。

Maven は、構成されたファイル リソースを自動的に収集し、それらをランタイムクラスパスホルダーに追加して、 classpath:で始まるリソースを解決できるようにします。

それ以外の場合、Maven でセルフ スタックがファイル リソースをストリーミングできないことがわかった場合は、Maven のリソース構成にフックして、次のようにファイルの場所をマップすることができます。

<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <includes>
                <include>*.properties</include>
            </includes>
        </resource>
    </resources>
</build>
于 2015-02-03T10:49:24.357 に答える