我正在尝试使用烧烤条形码打印库。我通过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中编码,还有其他地方需要添加库吗?
当前回答
只是重新导入不起作用。下面的方法对我很有效。
File ->使缓存失效/重新启动
Then
Build ->重建项目
这将重新导入maven项目。
注意:您需要使缓存无效并重新构建项目。
其他回答
以上的解决方案对我不起作用。我必须显式地在pom.xml中添加依赖项。
只需将jar添加到resources/library下,然后将其作为依赖项添加到pom.xml中,如下所示:
<dependency>
<groupId>your-jar-group-id</groupId>
<artifactId>artifact-id</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/resources/library/name-of-jar.jar</systemPath>
</dependency>
如果以上方法都不起作用,试试这个方法。
我尝试“Maven >重新导入”,但唯一真正修复它的是关闭项目,删除.idea目录,并重新打开项目。
如果你遇到了非常奇怪的“无法解决java、sun包的问题”,试试下面的方法:
打开项目结构,将项目SDK更改为另一个版本,例如:java 8 -> 9;11->13,等等,直到它重新索引所有jdk的jar。在相同版本的jdk之间切换可能无法工作!(示例:jetbrains jdk11 -> openjdk 11) 打开一个新项目(或创建一个空项目);暂停新项目的索引;关闭旧的;开始索引;打开旧项目,暂停新项目的索引并等待。
我在IntelliJ 2020.3中遇到了这个问题,并尝试了无效缓存选项并重新构建,但问题仍然存在。唯一修复它的方法是重命名包,并将其重命名为原来的样子。
现有的13个答案中没有一个对我有用。然而,我可以通过首先删除所有模块来解决这个问题:
打开文件>项目结构… 进入模块选项卡, 选择所有模块,按下移除按钮,
然后从Maven工具窗口中删除所有剩余的Maven模块:
选择所有模块, 右键点击它们, 按删除项目,
然后在项目工具窗口中再次添加它们:
右键单击根目录pom.xml, 按添加为Maven项目,
现在取消Maven工具窗口中任何被忽略的模块:
选择所有被忽略的(灰色)Maven模块, 右键点击它们, 按Unignore,
最后使用Build >重建项目进行重建。这里假设已经进行了mvn清洁安装。