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

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

error: package net.sourceforge.barbecue does not exist

这怎么可能呢?

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


当前回答

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

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

其他回答

类似于cvdr。过高的Java版本可能是问题所在。

在我们的测试项目中,一个大学生在使用多个java源代码时遇到了这个问题。她刚刚更新到一个更高的Intellij,当我们调查的时候,没有一个重建选项有效,但Intellij似乎已经“碰撞”了项目Java设置到Java 11(我猜它在升级安装时需要最高的安装版本?)将其设置回Java8,项目编译成功。

点击文件>项目结构>项目设置>项目,在下拉菜单中选择正确的。

对于偶尔需要做Java工作的人来说,这是非常烦人的。不可避免地,自从我上次在IntelliJ中运行我们的服务器以来,已经添加了包,它将无法构建。我发现了一个似乎更简单的解决方案:不要在IntelliJ内构建。通过Maven从命令行构建,然后确保运行配置没有将构建列为“启动前”任务。

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

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

我也有同样的问题。我通过应用android-apt插件https://bitbucket.org/hvisser/android-apt来修复它

我也遇到了同样的问题,通过将设置中的“Maven主目录”从“捆绑”更改为本地安装的Maven,我解决了这个问题。也许这触发了某种刷新的地方,因为我没有改变这个设置几个月没有任何问题。