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

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

error: package net.sourceforge.barbecue does not exist

这怎么可能呢?

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


当前回答

我尝试了所有的答案,但最终帮助我的是将Maven从捆绑到我自己的Maven发行版。

我认为反之亦然(从自己的改变到捆绑)也会有所帮助。

其他回答

我重新导入了所有的专家项目。这对我很管用。

我试着

“Maven >重新导入” 删除.idea目录,并重新打开项目。 文件->使缓存无效/重新启动然后构建->重建项目 删除本地.m2文件夹内的内容,并重新下载依赖项。 在Maven控制台中运行mvn idea:idea(虽然这个命令已经过时了,但我不得不尝试。)

在不同的组合中。

但是从Intellij 2020版本到2019版本解决了我的问题。

我在IntelliJ 2020.3中遇到了这个问题,并尝试了无效缓存选项并重新构建,但问题仍然存在。唯一修复它的方法是重命名包,并将其重命名为原来的样子。

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

package com.example;

import com.sun.jna.Library;
import com.sun.jna.Native;

public class C {
    public interface Kernel32 extends Library {
        public void OutputDebugStringA(String Text);
        public void DebugBreak();
        public void Sleep(int a);
    }

    public static int incint(int in1)
    {
        testpkg.xxxBird.Say("xxxee"); //only use this statement to call external lib
                                      //I don't use "import" statement.
        return in1*2;
    }
}

我正在使用intellij的想法。 您需要在项目依赖项中添加testpkg路径。