Jan*_*eks 39 lombok android-studio intellij-lombok-plugin
我正在使用Android Studio 2.2 Preview 7,并且Lombok插件突然开始说:
Annotation processing seems to be disabled for the project X并提供设置链接.
点击通知不会把我带到正确的地方.
有什么办法解决这个问题?
Jan*_*eks 78
通过单击通知打开的Per Project设置是设置,在这种情况下,这些不是您需要的设置.
要解决此问题,请转到
File->Other Settings->Default SettingsBuild, Execution, DeploymentCompilerAnnotation Processors检查中Enable annotation processingAnd*_*czl 16
使用较新的gradle版本,只需将这些行键入应用程序的build.gradle的依赖项块即可:
compile "org.projectlombok:lombok:1.16.16"
annotationProcessor "org.projectlombok:lombok:1.16.16"
Run Code Online (Sandbox Code Playgroud)
将项目与gradle同步,它将起作用.
Jar*_*uba 14
首先,我不认为从欢迎屏幕中删除您的项目会产生任何影响.考虑一下,从该屏幕上的"最近项目"中删除您的项目不会重新创建它,如何更改默认设置对现有项目有什么影响?
要在现有项目中启用注释处理,您无需删除任何内容.去YourAwesomeProject/.idea/compiler.xml,并确保你有值" 真在以下属性": /project/annotationProcessing/profile@enabled.
像这样:
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
...
<annotationProcessing>
<profile default="true" name="Default" enabled="true"><!-- here -->
<processorPath useClasspath="true" />
</profile>
</annotationProcessing>
</component>
</project>
Run Code Online (Sandbox Code Playgroud)
您可能需要File - > Invalidate Caches/Restart
对于那些使用Android Studio 2.4+遇到同样问题的人来说,除了Janis Peisenieks的答案之外,通过上述任何提示都无法解决.
打开您的Intellij IDEA 2017/Android Studio 2.4+并转到(Windows)
最后但并非最不重要的是使用下面的代码段更新您的项目build.gradle文件.忽略它被弃用的提示,因为它没有使用(直到现在.请参阅问题).
defaultConfig {
javaCompileOptions {
annotationProcessorOptions {
includeCompileClasspath = true
}
}
}
Run Code Online (Sandbox Code Playgroud)发现有一个非常简单的方法,没有上述所有这些变化!
如果您将处理器设置为像lombok一样的gradle,则不会仅使用提供的或testCompile.您需要使用annotationProcessor以及依赖项添加它.例:
dependencies {
provided "org.projectlombok:lombok:1.16.16"
annotationProcessor "org.projectlombok:lombok:1.16.16"
}
Run Code Online (Sandbox Code Playgroud)
感谢Jack Wharton的奶油刀,我想知道他是如何解决它的.
提示:您可能需要使缓存无效并重新启动才能使其适用于某些注释处理器(如lombok).
当时也许标记的答案就足够了,但是我在android studio 3和lombok 1.16.18上感到有点挣扎。无论如何,以下对我有用
在app> build.gradle添加以下
compileOnly 'org.projectlombok:lombok:1.16.18'
annotationProcessor 'org.projectlombok:lombok:1.16.18'
Run Code Online (Sandbox Code Playgroud)
您可能会开始遇到其他错误,因此如果您在MyApplication>中lombok.config添加以下行
lombok.addGeneratedAnnotation = false
lombok.anyConstructor.suppressConstructorProperties = true
Run Code Online (Sandbox Code Playgroud)
如果您还没有lombok.config添加它
以上是由龙目岛的开发者在以下职位建议
addGeneratedAnnotation
suppressConstructorProperties
| 归档时间: |
|
| 查看次数: |
23287 次 |
| 最近记录: |