1
mvn -P dev

プロファイルdevを使用してプロジェクトをビルドする場合、以下のようにSpringBeanでdev.propertiesを使用します。出来ますか ?もしそうなら、どうすればプロファイル名を取得できますか?

<bean id="xyz" class="abc.xyz">
    <property name="propertyFile" value="${maven_profile_id}.properties" />
</bean>

前もって感謝します。

4

2 に答える 2

1

Maven プロファイルを使用して、「プロファイル」プロパティをビルドに追加できます。

<profiles>
    <profile>
        <id>dev</id>
        <properties>
            <profile>dev</profile>
        </properties>
    </profile>
</profiles>

次に、システム プロパティを使用して値をアプリケーションに渡します。確実な例を次に示します。

<plugin>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
        <systemPropertyVariables>
            <profile>${profile}</profile>
        </systemPropertyVariables>
    </configuration>
</plugin>

最後に、これはアプリケーションで参照できます。

<bean id="xyz" class="abc.xyz">
    <property name="propertyFile" value="${profile}.properties" />
</bean>

または、Spring 3.1 以降を使用している場合は、XML プロファイル機能がニーズを満たしていることに気付くかもしれません (やり過ぎかもしれませんが)。

于 2012-09-25T11:31:47.893 に答える
0

ビルド時に使用するプロファイルを指定する Maven のリソース フィルタリングを使用して設定されるプロパティ ファイルを作成します。

build.properties

activatedProfile=${profileId}

pom.xml (ディレクトリ全体をフィルタリングする必要はありません。必要に応じてカスタマイズしてください)

 <build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
    <resources>
 </build>   

異なるプロファイルごとに (または任意の名前で) プロパティを追加しprofileIdます。

 <profile>
     <id>dev</id>
     <properties>
        <profileId>dev</profileId>
     </properties>
 </profile>
 <profile>
     <id>qa</id>
     <properties>
        <profileId>qa</profileId>
     </properties>
 </profile>

${activatedProfile}.propertiesその後、Bean の値として使用できます

<bean id="xyz" class="abc.xyz">
    <property name="propertyFile" value="${activatedProfile}.properties" />
</bean>
于 2012-09-25T11:02:45.823 に答える