2016-03-25 12 views
4

プロパティ値が悪いために発生した困難な問題を追跡しました。プロパティが設定されていることを確認する方法はありますか?

プロパティは、テストによって実行時に使用される代替JVMへのパスです。 パスが有効かどうかを検出することで、mavenが早期に失敗するようにしたいと考えています。 これを達成する方法はありますか?

私はantrunを掘り下げて、最初に実行して確認できるようにする方法があるかどうかを確認する予定ですが、それは過度のようです。

質問:どうすればいいですか?

+1

明確にする:プロパティが設定されているか、ファイルが存在するかどうかをチェックしますか?タイトルとあなたの質問は異なるものを求めているようです(したがって、2つの異なる答え:D) – Tunaki

答えて

4

はい、あなたはこの作業のためにmaven-enforcer-pluginを使用することができます。このプラグインはビルド時にルールを適用するために使用され、requireFilesExistルールが組み込まれています。

このルールは、指定されたファイルのリストが存在するかどうかをチェックします。

次の設定では、ファイル${project.build.outputDirectory}/foo.txtが存在し、存在しない場合はビルドに失敗するよう強制されます。

3

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> 
+0

ああ、面白いことに、私たちは同じルールではない同じプラグインを提案します。 – Tunaki

+0

@俊明ああいい、それでは、どちらが自分のニーズに最も適しているかを確認するのは、OPに任されている。 –

+0

これは正規表現との比較が可能ですが、もう少し簡単なことですが、コードに対して1つの作業がある場合は、インターンをあまり混乱させません。しかし、ありがとう。 – Solx

1

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> 
+1

はい、ここで述べたようにhttp://stackoverflow.com/a/36220524/1743880;) – Tunaki

関連する問題