我正在尝试使用烧烤条形码打印库。我通过project structure add library成功将库添加到IntelliJ。然后我导入了包并编写了方法,这没有给我任何错误。这些包在类中可用。
但是当我编译时,它会给我一个错误:
error: package net.sourceforge.barbecue does not exist
这怎么可能呢?
我在ubuntu中编码,还有其他地方需要添加库吗?
我正在尝试使用烧烤条形码打印库。我通过project structure add library成功将库添加到IntelliJ。然后我导入了包并编写了方法,这没有给我任何错误。这些包在类中可用。
但是当我编译时,它会给我一个错误:
error: package net.sourceforge.barbecue does not exist
这怎么可能呢?
我在ubuntu中编码,还有其他地方需要添加库吗?
当前回答
如果你尝试了建议的方法,仍然没有机会,请确定你的订单:
删除你的。idea/ 无效和重新启动缓存之后 从maven工具导入maven项目
如果你没有在删除你的.idea/后无效并重新启动缓存,Intellij会继续生成它,这在我的情况下是错误的。
其他回答
我尝试了所有的答案,但最终帮助我的是将Maven从捆绑到我自己的Maven发行版。
我认为反之亦然(从自己的改变到捆绑)也会有所帮助。
I created two new classes under a new package and used it in rest of the code, Intellij was able to resolve these no red highlights were shown in the intellij editor. While building it was showing package doesn't exist error. I tried everything from gradle clean build, rebuild project, clear .idea and .gradle and reimporting the project, clearing the gradle local cache but nothing was working. Finally I refactored the name of the new package and this time intellij was able to recognize the new classes and it started working.
如果你遇到了非常奇怪的“无法解决java、sun包的问题”,试试下面的方法:
打开项目结构,将项目SDK更改为另一个版本,例如:java 8 -> 9;11->13,等等,直到它重新索引所有jdk的jar。在相同版本的jdk之间切换可能无法工作!(示例:jetbrains jdk11 -> openjdk 11) 打开一个新项目(或创建一个空项目);暂停新项目的索引;关闭旧的;开始索引;打开旧项目,暂停新项目的索引并等待。
我在IntelliJ 2020.3中遇到了这个问题,并尝试了无效缓存选项并重新构建,但问题仍然存在。唯一修复它的方法是重命名包,并将其重命名为原来的样子。
如果您向项目结构中添加了一个库(而不是通过maven,这是不同的),请确保它是作为相关模块的依赖项包含的。
项目结构->模块->依赖项