如何在特定条件下停止Gradle或Maven构建

时间:2014-09-30 05:59:22

标签: java maven gradle

我想在找不到某些资源时停止我的程序的gradle构建。

例如,我的程序搜索abc.properties。当前未找到时,将显示所有可能的错误消息,其中需要属性文件的值。相反,我只想显示一行错误消息,如“文件abc.properties缺失”,然后停止构建而不显示其他冗长的消息。我试过System.exit(),但没有用。

try {
   properties.load(PropertyFactory.class.classLoader.getResourceAsStream("abc.properties") );
} catch(Exception e) {
   System.out.println("Please put a valid properties file in the src/main/resources folder named abc.properties");
   System.exit(1);//something that will stop the build and prevent other error messages
}

3 个答案:

答案 0 :(得分:2)

在gradle中你可以把它放在你的buildcript中:

if(!file("src/main/resources/abc.properties").exists()){
    throw new GradleException("Please put a valid properties file in the src/main/resources folder named abc.properties")
}

答案 1 :(得分:1)

Gradle中的另一个替代方案是将该文件声明为依赖项。 如果无法解决,则构建将失败。 这有点像一种解决方法,但它应该有效。

答案 2 :(得分:0)

您可能会抛出异常,但这会导致包含整个堆栈跟踪的详细输出。另一种方法是使用ant.fail构造。

例如:

if(1 != 2) {
   ant.fail('1 is not equal to 2')
}

还有类似的question