我正在尝试使用烧烤条形码打印库。我通过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 ->使缓存失效/重新启动 转到终端,重新构建项目 。/ gradlew构建
这将再次下载所有丢失的包
其他回答
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路径。
menu -> build -> Rebuild Project
对我很有用
(没有此步骤无效缓存没有帮助)
我试着
“Maven >重新导入” 删除.idea目录,并重新打开项目。 文件->使缓存无效/重新启动然后构建->重建项目 删除本地.m2文件夹内的内容,并重新下载依赖项。 在Maven控制台中运行mvn idea:idea(虽然这个命令已经过时了,但我不得不尝试。)
在不同的组合中。
但是从Intellij 2020版本到2019版本解决了我的问题。
在我的案例中,问题是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项目
退出IntelliJ,删除所有。idea目录:
rm -Rf **/.idea/
并重新启动。