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

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

error: package net.sourceforge.barbecue does not exist

这怎么可能呢?

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


当前回答

以上的解决方案对我不起作用。我必须显式地在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>

如果以上方法都不起作用,试试这个方法。

其他回答

遵循以下步骤:

Ctrl+Shift -> Type Invalidate Caches ->检查所有选项,除了:Ask before… 高级菜单->构建->重建项目

退出IntelliJ,删除所有。idea目录:

rm -Rf **/.idea/ 

并重新启动。

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

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

这里发生的情况是特定的包在缓存中不可用。重置将有助于解决问题。

File ->使缓存失效/重新启动 转到终端,重新构建项目 。/ gradlew构建

这将再次下载所有丢失的包

如果您向项目结构中添加了一个库(而不是通过maven,这是不同的),请确保它是作为相关模块的依赖项包含的。

项目结构->模块->依赖项