当前位置: 首页 > 知识库问答 >
问题:

是否可以在Gradle中为JavaCompile启用-werror?

逑俊楚
2023-03-14
tasks.withType(JavaCompile).all {
    options.compilerArgs.add("-Xlint:all")
}
tasks.withType(JavaCompile).all {
    options.compilerArgs.add("-Xlint:all")
    options.compilerArgs.add("-Werror")
}

导致生成完全失败(不是以正确的方式):

失败:生成失败,出现异常。

*错误:任务“:app:compiledebugjava”执行失败。

是否不支持adding-werror?

共有1个答案

江子石
2023-03-14

贾瓦克皮棉

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.0.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
    gradle.projectsEvaluated {
        tasks.withType(JavaCompile) {
            options.compilerArgs << "-Xlint:all" << "-Werror"
        }
    }
}

结果将是下一个

....
:app:compileDebugJava                 
D:\Android\stack-overflow\ui\app\src\main\java\com\tivogi\ui\activity\MainActivity.java:22: warning: [deprecation] getLastNonConfigurationInstance() in Activity has been deprecated
        getLastNonConfigurationInstance();
        ^                             
error: warnings found and -Werror specified
1 error                               
1 warning                             
:app:compileDebugJava FAILED          

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:compileDebugJava'.
> Compilation failed; see the compiler error output for details.

* Try:        
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED  

Total time: 2.421 secs

Android Lint

android {
    lintOptions {
        ...
        // if true, treat all warnings as errors
        warningsAsErrors true
        ...
    }
}
 类似资料:
  • 问题内容: 是否可以在Gradle中声明一个可在Java中使用的变量?基本上,我想在build.gradle中声明一些var,然后在构建时(显然)获取它。就像C / C ++中的预处理器宏一样… 一个声明的例子就是这样: 有没有办法做这样的事情? 问题答案: 生成Java常量 你可以使用 产生Android资源 你可以使用或以通常的方式访问它们

  • 正如标题所说:是否可以在路由(-builder)的流程功能中启动一个驼峰endpoint?我刚接触apache camel,但已经做了一些项目。 情况如下:我正在使用apache camel和西门子Teamcenter RAC执行一个SavedQuery。结果是一个ModelObject[]和找到的元素。 对于这些元素中的每一个,我现在需要启动另一个endpoint,执行第二个搜索查询。我想到了这

  • 问题内容: 我知道可以将AngularJs和Maven包含到一个Spring项目中,但是如何将其包含在Gradle中呢? 查看gradle存储库,我没有找到AngularJs条目。也许可以使用Gradle从Maven存储库中获取它?但是,如何做到这一点。 问题答案: 尽管在下面的讨论中发现,通过gradle下载angular没有意义,但是可以使用以下代码完成:

  • 问题内容: 是否可以在tomcat的URL中关闭jsessionid?jsessionid似乎对搜索引擎不太友好。 问题答案: 你可以使用此过滤器仅对搜索引擎禁用,但我建议对所有响应都使用它,因为它比不友好的搜索引擎更糟糕。它公开了可用于某些安全漏洞的会话ID(更多信息)。 Tomcat 6(6.0.30之前的版本) 你可以使用tuckey重写过滤器。 Tuckey过滤器的示例配置: Tomcat