0

プロジェクトのテストに使用するために、データベース構成を pom.xml ファイルに含めました。データベース統合に unitils を使用しています 私の pom.xml プロパティは

    <test.database.rules-satellite.driver>com.mysql.jdbc.Driver</test.database.rulessatellite.driver>
    <test.database.rules-satellite.server>localhost</test.database.rules-satellite.server>
    <test.database.rules-satellite.schema>R133_isp_copie_pdx</test.database.rules-satellite.schema>
    <test.database.rules-satellite.url>jdbc:mysql://${test.database.rules-satellite.server}/${test.database.rules-satellite.schema}</test.database.rules-satellite.url>

    <test.database.rules-satellite.username>junit</test.database.rules-satellite.username>
    <test.database.rules-satellite.password>junit</test.database.rules-satellite.password>

私の unitils 設定は次のとおりです。

# Properties for the`enter code here` PropertiesDataSourceFactory
database.driverClassName=com.mysql.jdbc.Driver
database.url=jdbc:mysql://${test.database.rules-satellite.server}/${test.database.rules-satellite.schema}

# This property specifies the underlying DBMS implementation. Supported values are 'oracle', 'db2', 'mysql' and 'hsqldb'.
# The value of this property defines which vendor specific implementations of DbSupport and ConstraintsDisabler are chosen.
database.dialect=mysql

# user properties
database.userName=${test.database.rules-satellite.username}
database.password=${test.database.rules-satellite.password}
database.schemaNames=${test.database.rules-satellite.schema}

テストを実行すると、次のエラーが発生します。

ネストされた例外の開始

java.net.UnknownHostException
MESSAGE: ${test.database.rules-satellite.server}

スタックトレース:

java.net.UnknownHostException: ${test.database.rules-satellite.server}
    at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
    at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:849)
    at java.net.InetAddress.getAddressFromNameService(InetAddress.java:1202)
    at java.net.InetAddress.getAllByName0(InetAddress.java:1153)
    at java.net.InetAddress.getAllByName(InetAddress.java:1083)
    at java.net.InetAddress.getAllByName(InetAddress.java:1019)

私はmavenのプロパティが伝播されていないと思うので、unitilsはそれらを認識しません。

4

2 に答える 2

1

フィルタリングオプション付きのmavenリソースプラグインを使用する必要があります。詳細な説明はこちらにあります: http://www.manydesigns.com/en/portofino/portofino3/tutorials/using-maven-profiles-and-resource-filtering/#TOC-Resource-filtering

于 2014-08-21T11:25:06.143 に答える