我正在尝试使用烧烤条形码打印库。我通过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中编码,还有其他地方需要添加库吗?
当前回答
无效缓存为我工作,但它太长时间来恢复缓存,所以我没有耐心等待它。我找到了另一种方法来解决我的问题。“修复IDE”步骤3(删除包搜索项目缓存)为我完美地工作
其他回答
这里有一个对我有效的解决方案: 禁用交叉编译的“Use -release”选项,如下所示: 得到设置->构建,执行,部署->编译器-> Java编译器和禁用:
使用'——release'选项进行交叉编译(java 9及更高版本)
在我的案例中,问题是IntelliJ和settings.xml文件中有不同的存储库目录配置。
检查两个存储库目录是否相同:
IntelliJ(文件>设置>构建,执行,部署>构建工具> Maven)
settings.xml (通常在c:\ users \myuser\。M2或/home/myuser/.m2)
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
...
<localRepository>C:\Users\myuser\.m2\repository</localRepository>
...
</settings>
修复目录后运行:
为所有项目生成文件夹和更新源
重新导入所有maven项目
我在更改pom后得到了这个错误,我通过execute修复了它:
mvn idea:module
这对我很有用
右键单击项目/ Maven(在底部)/重新导入
编辑,很久以后:当我安装了Clover插件时,我也看到这种情况更频繁地发生。像扔掉坏习惯一样扔掉那个插件!
我也遇到了同样的问题,通过将设置中的“Maven主目录”从“捆绑”更改为本地安装的Maven,我解决了这个问题。也许这触发了某种刷新的地方,因为我没有改变这个设置几个月没有任何问题。