如何使日志出现在';*出了什么问题:';和';*Try:';Gradle的部分生成输出失败?

如何使日志出现在';*出了什么问题:';和';*Try:';Gradle的部分生成输出失败?,gradle,Gradle,我知道我可以抛出一个异常,以在“出错原因”部分中获取其消息,但它也会停止执行,因此我当时只收到一个错误的通知(在“出错原因”部分)。如果出现多个错误日志,可以将其作为异常消息抛出,并将其全部放入“出错原因”部分,但这是一个难看的黑客行为,我无法像这样将消息放入“尝试”部分 因此,一般来说,我应该也可以让我的日志进入“*哪里出了问题:”、“*尝试:”,以使跟踪特定于项目的构建错误变得更容易?如果是,怎么做 提前多谢 唯一的选择是抛出一个异常(通常是GradleException),并显示一条适当的

我知道我可以抛出一个异常,以在“出错原因”部分中获取其消息,但它也会停止执行,因此我当时只收到一个错误的通知(在“出错原因”部分)。如果出现多个错误日志,可以将其作为异常消息抛出,并将其全部放入“出错原因”部分,但这是一个难看的黑客行为,我无法像这样将消息放入“尝试”部分

因此,一般来说,我应该也可以让我的日志进入“*哪里出了问题:”、“*尝试:”,以使跟踪特定于项目的构建错误变得更容易?如果是,怎么做


提前多谢

唯一的选择是抛出一个异常(通常是
GradleException
),并显示一条适当的消息,该消息将显示在“出错原因:”下。要在异常后继续执行生成,请使用
--continue
运行。这将在末尾聚合所有消息。您不能影响“Try:”部分中的信息。

我刚刚意识到,使用异常通常不是最好的解决方案。当我使用gradle将新项目导入IDE时,脚本(所以整个导入过程)在异常情况下失败,因为缺少一些jar(这很常见,当导入新项目时,我不知道它需要什么——而且jar Im所依赖的是不公开的)。我想找到一些温和的解决方案:您还必须提供这个和那个…最好是在输出的末尾,而不是使用脚本破坏项目导入和模拟任务。也许,红色的错误日志是唯一的也是最好的解决方案:)我不确定我能跟上。一般来说,IDE导入将触发构建的配置,但不会触发其执行。您是否考虑在配置时抛出异常?我说的是在执行时抛出异常(例如,从任务操作中抛出异常)。我在依赖项{}部分抛出异常(不包含在任何其他内容中),在这里我只需执行类似于“新文件('lib/mylib.jar')”的操作,如果不是,我抛出GradleException。此异常发生在我使用的Intellij Idea 12.1.4中的Gradle导入过程(并停止)期间。也许有一些渐进的方法来实现依赖关系是否存在,这在导入过程中不会被检查,但如果IDE在导入过程中尝试构建应用程序,则无法通过抛出异常成功完成。或者,也许我没有在适当的地方定义我的应用程序特定依赖项?