プロパティ値が悪いために発生した困難な問題を追跡しました。プロパティが設定されていることを確認する方法はありますか?
プロパティは、テストによって実行時に使用される代替JVMへのパスです。 パスが有効かどうかを検出することで、mavenが早期に失敗するようにしたいと考えています。 これを達成する方法はありますか?
私はantrunを掘り下げて、最初に実行して確認できるようにする方法があるかどうかを確認する予定ですが、それは過度のようです。
質問:どうすればいいですか?
プロパティ値が悪いために発生した困難な問題を追跡しました。プロパティが設定されていることを確認する方法はありますか?
プロパティは、テストによって実行時に使用される代替JVMへのパスです。 パスが有効かどうかを検出することで、mavenが早期に失敗するようにしたいと考えています。 これを達成する方法はありますか?
私はantrunを掘り下げて、最初に実行して確認できるようにする方法があるかどうかを確認する予定ですが、それは過度のようです。
質問:どうすればいいですか?
はい、あなたはこの作業のためにmaven-enforcer-plugin
を使用することができます。このプラグインはビルド時にルールを適用するために使用され、requireFilesExist
ルールが組み込まれています。
このルールは、指定されたファイルのリストが存在するかどうかをチェックします。
次の設定では、ファイル${project.build.outputDirectory}/foo.txt
が存在し、存在しない場合はビルドに失敗するよう強制されます。
Enforcer Maven Pluginとそのルールを使用できます。ここでは、特定のプロパティ(存在する場合は正規表現)の存在を強制でき、それ以外の場合は失敗します。
このルールは、宣言されたプロパティが設定されていることを強制し、オプションで正規表現に対して評価します。
簡単なスニペットは次のようになります。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.4.1</version>
<executions>
<execution>
<id>enforce-property</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireProperty>
<property>basedir</property>
<message>You must set a basedir property!</message>
<regex>.*\d.*</regex>
<regexMessage>The basedir property must contain at least one digit.</regexMessage>
</requireProperty>
</rules>
<fail>true</fail>
</configuration>
</execution>
</executions>
</plugin>
Maven EnforcerプラグインのRequire Files Existルールを使用してください。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.4.1</version>
<executions>
<execution>
<id>enforce-files-exist</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireFilesExist>
<files>
<file>${property.to.check}</file>
</files>
</requireFilesExist>
</rules>
<fail>true</fail>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
はい、ここで述べたようにhttp://stackoverflow.com/a/36220524/1743880;) – Tunaki
明確にする:プロパティが設定されているか、ファイルが存在するかどうかをチェックしますか?タイトルとあなたの質問は異なるものを求めているようです(したがって、2つの異なる答え:D) – Tunaki