Intellij idea 库源与类的字节码不匹配
不知道这里怎么了。。我删除了本地maven存储库中的所有文件,并让它从头开始下载所有内容,但我无法摆脱此错误: 为什么我会看到这个,我怎么才能摆脱它Intellij idea 库源与类的字节码不匹配,intellij-idea,Intellij Idea,不知道这里怎么了。。我删除了本地maven存储库中的所有文件,并让它从头开始下载所有内容,但我无法摆脱此错误: 为什么我会看到这个,我怎么才能摆脱它 IDEA、依赖项或本地maven缓存都没有问题,它正确地识别了不匹配 以下是如何检查: 有问题的公开课 单击“显示差异” 选择“忽略空白和空行” 您可以清楚地看到(忽略JavaDoc和FQCNs),类文件包含了对@NonNull注释参数的额外检查。导入显示为lombok.NonNull,显示将发生此转换 我想最好的做法是忽略这个警告,或者
IDEA、依赖项或本地maven缓存都没有问题,它正确地识别了不匹配 以下是如何检查:
- 有问题的公开课
- 单击“显示差异”
- 选择“忽略空白和空行”
@NonNull
注释参数的额外检查。导入显示为lombok.NonNull
,显示将发生此转换
我想最好的做法是忽略这个警告,或者如果可能的话,让项目的维护人员从lombok处理的源代码中构建sources.jar。我认为他们需要使用delomboking和,但我自己从来没有构建过lombok代码。在解决这个问题时,我没有必要和Maven混在一起,而是单独处理IntelliJ IDEA 对我来说,这个问题源于IntelliJ思想中三个概念之间的混淆:模块、库和依赖项。我有不同的项目,使用不同的包,其中一些以不一致的方式相互引用。对于如何引用下载的第三方软件包,我也不一致 一旦我区分了模块、库和依赖项这三个概念,就很容易了。我是如何在脑海中澄清这些问题的: 1) 库指的是不会更改的代码(已编译或未编译) 2) 模块指的是项目中代码可能更改的部分(如果您单独工作,则指您的部分) 3) 依赖项(对于本对话)是特定模块将使用的库或其他模块 我在添加一个正在进行的项目的代码时出错,该项目最初是由另一个IDE创建的,作为IntelliJ IDEA中的依赖项。从理论上讲,这应该是可行的,的确如此,但像你一样,我不能忽视我的开发环境顶部的一条巨大的红色横幅 要解决这个问题: 模块 打开文件>项目结构>模块,并使用左上角的绿色加号(不是右边的加号)添加代码可能更改的其他项目。这使它们对IntelliJ“充满活力”,而不是一个尘封已久的不可变库,如果更改,可能会导致警报横幅向您呼喊。在这个阶段,只使用占据大部分对话框的大面板来检查导入的jar、源代码等,以验证您想要的已经到达 库 打开文件>项目结构>库,然后再次使用左上角的绿色加号添加包含不会更改的代码的文件夹。右边的另一个绿色加号允许您在已添加的库中添加内部文件夹,但因特利利擅长在不同的项目结构中查找这些文件,因此请从头开始添加新的库,而不是添加您认为缺少的并导致多个副本存在的特定文件夹。另一件使IntelliJ感到困惑的事情(可以理解) 依赖关系 现在一切都准备好了,您可以返回到文件>项目结构>模块。这次转到占据大部分对话框的大面板,并更改为“依赖项”选项卡。在这一阶段,我的首选工作方式(特别是当项目很大且复杂时)是沿着列出的模块向下工作,为每个模块添加库和模块依赖项。这一次,对于每个模块,使用右侧的绿色加号添加您需要的每个库或模块,这些库或模块应该从上一步添加的库或模块中提供给您 警告 有两个重要步骤,您在完成该过程时应小心: 1。确保为每个模块添加的每个依赖项都在“依赖项”选项卡中具有范围“编译”
2。完成后,单击“项目结构”对话框底部的“应用”按钮,然后单击“确定”。它似乎应该是自动的,就像IntelliJ中的许多其他功能一样,但我认为它不是。由于在退出对话框之前未单击“应用”,我丢失了对项目结构所做的更改。我只是复制了文件的内容并将其删除。后来,我创建了一个与旧文件同名的新文件,并将代码粘贴到其中。这对我有用
对我来说,只是重新创建文件就行了。也遇到了同样的问题-从命令行执行了gradlew清理,然后进入Android Studio执行了文件->无效缓存并重新启动,一切都恢复正常。我遇到了这个问题,据我所知,我知道有两种解决方案:
就我而言,这有助于下一步:
刚才我有这个问题, 帮助我的是: 我找到了
.ideaLibSources
文件夹,在右键单击jar文件后,在上下文菜单中选择“复制路径”(当文件在编辑器中打开并处于焦点时,您可以在idea的上部区域找到jar文件链接),然后从该文件夹中删除ununonted-sources.jar。
aa并重新下载
顺便说一句,无效/重新启动没有帮助这是由依赖于.m2/repo的包的旧编译版本引起的
[INFO] --- maven-dependency-plugin:2.1:tree (default-cli) @ wordvectors ---
[INFO] masterthesis.code:wordvectors:jar:1.0-SNAPSHOT
[INFO] +- org.apache.spark:spark-core_2.10:jar:1.6.0:compile
[INFO] | \- org.apache.hadoop:hadoop-client:jar:2.2.0:compile
[INFO] | \- org.apache.hadoop:hadoop-common:jar:2.2.0:compile
[INFO] | \- commons-configuration:commons-configuration:jar:1.6:compile
[INFO] | \- (commons-collections:commons-collections:jar:3.2.1:compile - omitted for conflict with 20040616)
[INFO] \- org.deeplearning4j:deeplearning4j-ui:jar:0.4-rc3.8:compile
[INFO] \- org.deeplearning4j:deeplearning4j-nlp:jar:0.4-rc3.8:compile
[INFO] \- it.unimi.dsi:dsiutils:jar:2.2.2:compile
[INFO] \- commons-collections:commons-collections:jar:20040616:compile
All you need to do is
-> Find the package in m2 folder and delete it
-> Rebuild the required package or re-download from the repository
-> Reimport all packages in the project