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

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

error: package net.sourceforge.barbecue does not exist

这怎么可能呢?

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


当前回答

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

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

其他回答

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

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

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路径。

只是重新导入不起作用。下面的方法对我很有效。

File ->使缓存失效/重新启动

Then

Build ->重建项目

这将重新导入maven项目。

注意:您需要使缓存无效并重新构建项目。

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

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

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

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

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

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

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

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

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

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