我正在尝试使用烧烤条形码打印库。我通过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中编码,还有其他地方需要添加库吗?
当前回答
Maven重新导入,重新构建和无效缓存不工作。我通过打开一个终端并在根文件夹项目中执行maven clean install解决了这个问题。(IntelliJ被打开,我能够看到IDE更新和触发驯鹿,而maven正在做他的工作)
其他回答
类似于cvdr。过高的Java版本可能是问题所在。
在我们的测试项目中,一个大学生在使用多个java源代码时遇到了这个问题。她刚刚更新到一个更高的Intellij,当我们调查的时候,没有一个重建选项有效,但Intellij似乎已经“碰撞”了项目Java设置到Java 11(我猜它在升级安装时需要最高的安装版本?)将其设置回Java8,项目编译成功。
点击文件>项目结构>项目设置>项目,在下拉菜单中选择正确的。
在我的案例中,问题是IntelliJ和settings.xml文件中有不同的存储库目录配置。
检查两个存储库目录是否相同:
IntelliJ(文件>设置>构建,执行,部署>构建工具> Maven)
settings.xml (通常在c:\ users \myuser\。M2或/home/myuser/.m2)
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
...
<localRepository>C:\Users\myuser\.m2\repository</localRepository>
...
</settings>
修复目录后运行:
为所有项目生成文件夹和更新源
重新导入所有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路径。
我在2022.1.4版本遇到了同样的情况。我尝试了第一个答案的所有解决方案,除了删除“。想法”文件夹中。 即使很多朋友都提到了这个解决方案,我也找不到这个文件夹,我到处找用户配置文件和AppData文件夹。这个文件夹实际上是在项目文件夹本身下创建的。
我关闭了项目,删除这个文件夹后重新打开。一切都恢复正常了。感觉就像“英特尔”丢失了,IDE只是“lij”一段时间。哈哈
我在IntelliJ 2020.3中遇到了这个问题,并尝试了无效缓存选项并重新构建,但问题仍然存在。唯一修复它的方法是重命名包,并将其重命名为原来的样子。