我正在尝试使用烧烤条形码打印库。我通过project structure add library成功将库添加到IntelliJ。然后我导入了包并编写了方法,这没有给我任何错误。这些包在类中可用。

但是当我编译时,它会给我一个错误:

error: package net.sourceforge.barbecue does not exist

这怎么可能呢?

我在ubuntu中编码,还有其他地方需要添加库吗?


当前回答

我在更改pom后得到了这个错误,我通过execute修复了它:

mvn idea:module

这对我很有用

其他回答

这是一个经常发生的非常烦人的问题。尤其是在切换到不同的git分支之后。它浪费了我太多的时间来排除这种问题。以上方法我都试过了。但我找不到可靠的方法。在这里,我总结了那些可能对我的情况有所帮助的步骤。Jetbrains,请修复此问题以节省客户的宝贵时间。

确保执行成功的命令行构建(如果UT失败,请使用-Dmaven.test.skip=true忽略UT)。 在“Maven Projects”视图中,尝试使用“重新导入”所有的Maven项目。 在文件菜单中,使用“无效缓存” 删除。idea文件夹,基本上从头开始创建工作区。(这是唯一可靠的解决方法)

这里有一个对我有效的解决方案: 禁用交叉编译的“Use -release”选项,如下所示: 得到设置->构建,执行,部署->编译器-> Java编译器和禁用:

使用'——release'选项进行交叉编译(java 9及更高版本)

无效缓存为我工作,但它太长时间来恢复缓存,所以我没有耐心等待它。我找到了另一种方法来解决我的问题。“修复IDE”步骤3(删除包搜索项目缓存)为我完美地工作

我尝试“Maven >重新导入”,但唯一真正修复它的是关闭项目,删除.idea目录,并重新打开项目。

现有的13个答案中没有一个对我有用。然而,我可以通过首先删除所有模块来解决这个问题:

打开文件>项目结构… 进入模块选项卡, 选择所有模块,按下移除按钮,

然后从Maven工具窗口中删除所有剩余的Maven模块:

选择所有模块, 右键点击它们, 按删除项目,

然后在项目工具窗口中再次添加它们:

右键单击根目录pom.xml, 按添加为Maven项目,

现在取消Maven工具窗口中任何被忽略的模块:

选择所有被忽略的(灰色)Maven模块, 右键点击它们, 按Unignore,

最后使用Build >重建项目进行重建。这里假设已经进行了mvn清洁安装。