gpt4 book ai didi

java - Gradle-如何设置它以显示错误所在的文件?

转载 作者:行者123 更新时间:2023-12-02 11:02:45 24 4
gpt4 key购买 nike

gradle通常不会显示某个错误在哪个类中。

例如,我有一个A.java类,它使用了我的其他类Utils.java。因此,A.java具有以下导入:

import my.package.Utils;

如果我去 A类,删除上面的导入并清理项目,gradle会给我以下消息:
Information:25/08/15 9:18 AM - Compilation completed with 1 error and 0 warnings in 22s 800ms
Error:Gradle: Execution failed for task ':app:compileBauDebugAspectj'.
> Utils cannot be resolved

问题在于,该消息不会在类A的任何地方说出问题。因此,我发现此问题的唯一方法是手动打开所有使用Utils类的类,直到找到缺少导入的类(在这种情况,A)。

有没有办法让gradle准确说明错误是哪一类?我不敢相信它会抛出这样的一般错误而没有指出它们的位置(尤其是在缺少导入等基本情况下)。

最佳答案

如果您使用的是Android Studio,请使用“构建”>“重建项目”,而不是“构建”>“清理项目”。

使用Rebuild Project或命令行Gradle构建,会很高兴地指出错误的具体位置。例如,这是从Android Studio 1.3.1中的Gradle控制台丢失的导入的输出:

Executing tasks: [clean, :app:compileDebugSources, :app:compileDebugAndroidTestSources]

Configuration on demand is an incubating feature.
:app:clean
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:checkDebugManifest
:app:preReleaseBuild UP-TO-DATE
:app:prepareComAndroidSupportSupportV132300Library
:app:prepareComAndroidSupportSupportV42300Library
:app:prepareDebugDependencies
:app:compileDebugAidl
:app:compileDebugRenderscript
:app:generateDebugBuildConfig
:app:generateDebugAssets UP-TO-DATE
:app:mergeDebugAssets
:app:generateDebugResValues UP-TO-DATE
:app:generateDebugResources
:app:mergeDebugResources
:app:processDebugManifest
:app:processDebugResources
:app:generateDebugSources
:app:processDebugJavaRes UP-TO-DATE
:app:compileDebugJavaWithJavac
/home/mmurphy/stuff/CommonsWare/projects/andprojector/app/src/main/java/com/commonsware/andprojector/MainActivity.java:40: error: cannot find symbol
EventBus.getDefault().registerSticky(this);
^
symbol: variable EventBus
location: class MainActivity
/home/mmurphy/stuff/CommonsWare/projects/andprojector/app/src/main/java/com/commonsware/andprojector/MainActivity.java:45: error: cannot find symbol
EventBus.getDefault().unregister(this);
^
symbol: variable EventBus
location: class MainActivity
Note: /home/mmurphy/stuff/CommonsWare/projects/andprojector/app/src/main/java/com/commonsware/andprojector/MainActivity.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
2 errors

FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:compileDebugJavaWithJavac'.
> 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: 1.971 secs

您可以在命令行上运行 gradle assembleDebug 获得等效的输出。

关于java - Gradle-如何设置它以显示错误所在的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32192303/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com