我想在找不到某些资源时停止我的程序的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
}
答案 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。