软件包在intelliJ中不存在错误


115

我正在尝试使用烧烤条码打印库。我已经通过项目结构添加库将库成功添加到了IntelliJ中。然后,我导入了程序包并编写了方法,但没有出错。这些包在课堂上可用。

但是当我编译它给我的错误:

error: package net.sourceforge.barbecue does not exist

怎么会这样?

我在ubuntu中进行编码,我还必须在其他地方添加库吗?

谢谢。提卡


2
您确定此JAR位于项目结构的“库”部分中吗?
Makoto

1
验证库的范围(在项目结构窗口中)为Compile。如果设置为范围,Provided则会导致您描述的行为。
Javaru

Answers:


72

我试图“ Maven>重新导入”,但实际上修复它的唯一一件事是关闭项目,删除.idea目录,然后重新打开项目。


6
这有帮助,但是一段时间后问题再次出现。
hipokito

1
@mattalxndr到2018年底,仍然没有真正的长期解决方案?这非常令人讨厌,在我当前的工作空间中,重新编制源索引可能最多需要30分钟
...。– spi

@spi对不起,我不记得了。
mattalxndr

我在IntelliJ 2018和Gradle中遇到了类似的问题。它找不到Spring软件包。这样做为我解决了这个问题。
loyalBrown '18

1
重新导入:按Ctrl + Shift + A查找动作,然后输入“重新导入”,您将找到“重新导入所有Maven项目”。
boardtc


42

右键单击您的项目/ Maven(在底部)/重新导入

稍后进行编辑:当我安装了Clover插件时,我还经常看到这种情况。像个坏习惯一样丢弃该插件!


19
menu -> build -> Rebuild Project

为我工作

(在没有此步骤的情况下使缓存无效无济于事)


3
同样的事情帮助了我-右键单击项目->重建模块<module-name>
genchev '18

12

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

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


12

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

  1. 打开File> Project Structure...
  2. 转到Modules标签,
  3. 选择所有模块,然后按删除按钮,

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

  1. 选择所有模块,
  2. 右键单击它们,
  3. Remove projects

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

  1. 右键单击root pom.xml
  2. Add as Maven project

现在从Maven工具窗口中忽略所有被忽略的模块:

  1. 选择所有忽略的(灰色)Maven模块,
  2. 右键单击它们,
  3. Unignore

最后使用Build>进行重建Rebuild project。假设mvn clean install已经发生。


3
在IntelliJ Ultimate 2019.1.2上工作!无效的缓存无效,重新导入项目无效。这个解决方案做到了!
jbx

刚刚在2019.1.3上进行了测试,是的,这是一个可行的解决方案
Sorrow

3
适用于版本2019.3!
user3150947 '19

同样适用于版本2020.2。一直拉着我的头发,直到我发现了!
Mitch1077487

7

退出IntelliJ,删除每个.idea目录:

rm -Rf **/.idea/ 

然后重新启动。


这对Community Edition 2017.2。在此之后,我还必须导入gradle项目。2017年,此问题仍然发生。
Kirill G.



5

就我而言,唯一起作用的是:

mvn idea:idea

好处是您不必删除.idea文件夹或.iml文件,也无需删除所有配置。一切都会被保留。

(可能也gradle idea适用于gradle)。



4

这是一个非常烦人的问题,经常发生。特别是在切换到另一个git分支之后。解决这种问题浪费了我太多的时间。我已经尝试了以上所有方法。但是我找不到可靠的方法。在这里,我只是总结了可能对我的情况有所帮助的那些步骤。Jetbrains,请解决此问题以节省客户的宝贵时间。

  1. 确保成功完成命令行构建(如果UT失败,请使用-Dmaven.test.skip = true忽略UT。
  2. 在“ Maven项目”视图中,尝试使用“重新导入”所有maven项目。
  3. 在文件菜单中,使用“无效的缓存”
  4. 删除.idea文件夹,基本上是从头开始创建工作区。(这是解决此问题的唯一可靠方法)

3
尝试了所有这些,对我唯一有用的是#4,关闭IntelliJ,删除.idea文件夹,然后重新加载项目。创建新的git分支后,这发生在我身上。
ammills01 '18

听起来像是intellij的错误,我想知道是否为此创建了问题吗?
Levancho

3

作为仅偶尔需要执行Java工作的人,这很烦人。自从我上次在IntelliJ中运行服务器以来,不可避免地要添加软件包,并且软件包将无法构建。我发现似乎更简单的解决方案:只是不要在IntelliJ中构建。通过Maven从命令行进行构建,然后确保运行配置未将“构建”列为“启动前”任务。


3

我尝试了所有赞赏的答案,但都没有解决我的问题!

根据Intellij社区的说法,Maven构建于2020.1和2020.1.1版本中存在一个错误:https ://youtrack.jetbrains.com/issue/IDEA-237320?_ga = 2.235486722.203129946.1591253608-322129264.1584010541

请尝试在2019.3.4版本上运行(从一开始就对我有效)

您可以从这里下载

https://www.jetbrains.com/idea/download/previous.html?_ga=2.190043688.203129946.1591253608-322129264.1584010541


这个关于path.macros.xml文件的解决方法对我有所帮助:youtrack.jetbrains.com/issue/…2020.1现在可以工作了。
Yaroslav Stavnichiy

2

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


2

这是一个为我工作的解决方案: 禁用“使用--release选项进行交叉编译,如intellij想法中的以下所示: got Settings-> Build,Execution,Deployment-> Compiler-> Java Compiler并禁用:

使用'--release'选项进行交叉编译(Java 9和更高版本)


1

这里发生的是特定程序包在缓存中不可用。重置将有助于解决问题。

  1. 文件->使缓存无效/重新启动
  2. 转到终端并再次构建项目

    ./gradlew build

这应该再次下载所有丢失的软件包


1

Maven重新导入,重建和使高速缓存无效的工作。我通过打开终端并在根文件夹项目中执行maven clean install解决了该问题。(IntelliJ已打开,我能够看到IDE在maven工作期间正在更新并触发重新索引)



0

如果您不想破坏.idea,可以尝试:

  • 打开项目结构>模块
  • 取消将Java文件夹标记为源文件夹
  • 应用/重建
  • 然后再次将其标记为源文件夹
  • 重建

0

如果您遇到非常奇怪的“无法解决javasun打包问题”,请尝试以下操作:

  1. 打开Project Structure并将Project SDK更改为另一个版本,例如:java 8-> 9; 11-> 13等,然后等待它重新索引所有jdk的jar。在具有相同版本的jdks之间切换可能无效!(例如:jetbrains jdk11-> openjdk 11)
  2. 打开一个新项目(或创建一个空项目);暂停新项目的索引编制;关闭旧的 开始索引 ; 打开旧项目并暂停新项目的索引并等待。

0

如果您尝试使用建议的方法,但仍然没有机会,请确定您的订单

  1. 删除您的.idea /
  2. 之后使无效并重新启动缓存
  3. 从您的Maven工具导入Maven项目

如果您没有在删除.idea /之后立即使缓存无效并重新启动,则Intellij会继续生成它,这对我来说是错误的。


0

我尝试使用JDK 12编译Java 8项目,并且遇到相同的问题。先前的答案都无法解决我的问题。

我将o Shortel Command Line更改为“ JAR Manifest ”,并像魅力一样工作。

智慧

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.