【问题标题】:Why does IntelliJ give me "Package doesn't exist" error?为什么 IntelliJ 给我“包不存在”错误?
【发布时间】:2013-12-06 20:53:30
【问题描述】:

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

但是当我编译时它给了我错误:

error: package net.sourceforge.barbecue does not exist

这怎么可能?

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

【问题讨论】:

  • 您确定这个 JAR 在您的项目结构的库部分中?
  • 验证库的范围(在项目结构窗口中)是Compile。如果设置为Provided 的范围,它将导致您描述的行为。
  • 如果您在 maven 配置文件下有依赖项,请确保在编译项目时在 maven 树“配置文件”中选择正确的配置文件。
  • 如果您在项目中使用 Gradle,请查看以下回复:stackoverflow.com/a/48930705/10805602
  • 这个解决方案对我有用。按照给定的link

标签: java intellij-idea ubuntu-12.04 barcode


【解决方案1】:

我更改 pom 后出现此错误,并通过执行修复它:

mvn idea:module

对我有用

【讨论】:

    【解决方案2】:

    只是重新导入不起作用。以下对我有用。

    文件 -> 使缓存无效/重新启动

    然后

    构建 -> 重建项目

    这将重新导入 maven 项目。

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

    【讨论】:

    • 效果很好,但你能解释一下为什么会这样吗?
    • 好的,仅供查看此答案的其他人使用 -> 请注意,您需要使缓存无效并重建项目。我使用我的直觉,只做了第一部分,因为我确实在重启后看到了 IDEA“重建”和索引,但我认为这还不够。您需要显式重建项目。
    • @Raj Rajeshwar Singh Rathore 这是因为 maven(或 gradle,如果您使用 gradle)会记住/缓存先前构建的部分内容,以便每次您要求它构建项目时构建速度更快。所以当你第一次得到错误时,maven 会记住这个模块丢失了。
    【解决方案3】:

    上述解决方案对我不起作用。我必须在 pom.xml 中显式添加依赖项。

    只需在资源/库下添加您的 jar,然后将其作为依赖项添加到您的 pom.xml 中,例如:

            <dependency>
                <groupId>your-jar-group-id</groupId>
                <artifactId>artifact-id</artifactId>
                <version>1.0</version>
                <scope>system</scope>
                <systemPath>${basedir}/src/main/resources/library/name-of-jar.jar</systemPath>
            </dependency>
    

    如果以上方法都不起作用,试试这个。

    【讨论】:

      【解决方案4】:

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

      一位同事在我们的测试项目中使用多个 java 源时遇到了这个问题。她刚刚更新到后来的 Intellij,当我们调查所有重建选项都不起作用但 Intellij 似乎已将项目 Java 设置“碰撞”到 Java 11(我猜升级安装时它需要最高安装版本?)将其设置回Java8,项目编译成功。

      转到文件>项目结构>项目设置>项目并在下拉列表中选择正确的。

      【讨论】:

        【解决方案5】:

        我在 IntelliJ 2020.3 中遇到了这个问题,并尝试了无效缓存选项并重建,但问题仍然存在。修复它的唯一方法是重命名包并将其重命名回原来的名称。

        【讨论】:

          【解决方案6】:

          我的单元测试也遇到了同样的问题。我在我的主分支上创建了测试,并且无论我使用什么分支,早期一切都运行良好。但是当我再次切换到 master 分支时,测试不再起作用。 帮助我的是:

          close intellij -&gt; delete .idea file from directory -&gt; 通过pom.xml 再次打开项目(idk,如果你打开项目的方式很重要,但是当我第一次尝试通过 intellij 正常打开它时,它仍然不起作用)-&gt; 从右侧菜单重新加载所有 maven 项目 -&gt; rebuild 项目就是这样,现在一切正常

          【讨论】:

            【解决方案7】:

            为我工作:

            1. 重新导入
            2. 使缓存无效/重新启动
            3. 重建项目

            【讨论】:

              【解决方案8】:

              在我的情况下,问题在于 IntelliJ 和 settings.xml 文件中有不同的 存储库目录配置

              检查两个存储库目录是否相同:

              IntelliJ (File > Settings > Build,Execution,Deployment > Build Tools > 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>
              

              修复目录后运行:

              1. 为所有项目生成文件夹和更新源

              1. 重新导入所有 maven 项目

              【讨论】:

              • 在我的 settings.xml 中添加 localRepository 行为我解决了这个问题。我使用 Intellij IDEA 2021.1 社区版 Build#IC-211.6693.111
              【解决方案9】:

              我试过了

              1. “Maven > 重新导入”
              2. 删除 .idea 目录,然后重新打开项目。
              3. 文件 -> 使缓存无效/重新启动然后构建 -> 重建项目
              4. 删除本地 .m2 文件夹中的内容,然后重新下载依赖项。
              5. 在 Maven 控制台中运行 mvn idea:idea(虽然此命令已过时,但我不得不尝试。)

              不同的组合。

              但是从 Intellij 2020 版本到 2019 版本解决了我的问题。

              【讨论】:

                【解决方案10】:

                我尝试使用 JDK 12 编译一个 java 8 项目并且遇到了同样的问题。 以前的答案都没有解决我的问题。

                我将 Shortel 命令行 更改为“JAR Manifest”,并且工作起来很吸引人。

                【讨论】:

                  【解决方案11】:

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

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

                  如果您在删除 .idea/ 后没有使缓存失效并重新启动缓存,Intellij 会继续生成它,这在我的情况下会一直出错。

                  【讨论】:

                    【解决方案12】:

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

                    1. 打开项目结构并将项目SDK更改为另一个版本,例如:java 8 -> 9; 11->13 等,等到它重新索引所有 jdk 的 jars。 在同一版本的 jdk 之间切换可能不起作用! (例如:jetbrains jdk11 -> openjdk 11)
                    2. 打开一个新项目(或创建一个空的); 暂停新项目的索引;关闭旧的; 开始索引;打开旧项目并暂停新项目的索引并等待。

                    【讨论】:

                      【解决方案13】:

                      我尝试了所有值得赞赏的答案,但没有一个能解决我的问题!

                      根据 Intellij 社区的说法,2020.1 和 2020.1.1 版本的 Maven 构建存在一个错误: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

                      【讨论】:

                      【解决方案14】:

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

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

                      【讨论】:

                        【解决方案15】:

                        就我而言,唯一有效的是:

                        mvn idea:idea
                        

                        好处是您不必删除 .idea 文件夹或 .iml 文件并松动所有配置。一切都会被保留。

                        (可能像 gradle idea 这样的东西也适用于 gradle)。

                        【讨论】:

                        【解决方案16】:

                        Maven 重新导入、重建和使缓存无效。我通过打开终端并在根文件夹项目中执行 maven clean install 来解决它。 (IntelliJ 已打开,我可以看到 IDE 更新并在 maven 工作时触发重新索引)

                        【讨论】:

                          【解决方案17】:

                          这里发生的情况是缓存中没有特定的包。重置将有助于解决问题。

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

                            ./gradlew build
                            

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

                          【讨论】:

                            【解决方案18】:

                            我确实重新导入了所有 Maven 项目。这对我有用。

                            【讨论】:

                              【解决方案19】:

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

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

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

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

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

                              1. 右键点击rootpom.xml
                              2. Add as Maven project

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

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

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

                              【讨论】:

                              • 在 IntelliJ Ultimate 2019.1.2 上工作!无效缓存不起作用。重新导入项目不起作用。这个解决方案做到了!
                              • 刚刚在 2019.1.3 测试过,是的,这是一个可行的解决方案
                              • 适用于 2019.3 版!
                              • 也适用于 2020.2 版本。在我发现这个之前一直在拉我的头发!
                              • 谢谢!不知何故,这在 2020.1.4 对我有用。不必担心 IntelliJ 在更新中出现如此大的问题,但 2020 年一直是一场噩梦。感谢您分享此修复程序。
                              【解决方案20】:

                              这是一个适合我的解决方案: 在 intellij idea 中禁用“使用 --release 选项进行交叉编译,如下所示: 得到Settings -> Build,Execution,Deployment -> Compiler -> Java Compiler 并禁用:

                              使用“--release”选项进行交叉编译(java 9 及更高版本)

                              【讨论】:

                                【解决方案21】:

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

                                编辑,很久以后:当我安装了 Clover 插件时,我也看到这种情况发生得更频繁。像一个坏习惯一样放弃那个插件!

                                【讨论】:

                                  【解决方案22】:

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

                                  rm -Rf **/.idea/ 
                                  

                                  然后重新启动。

                                  【讨论】:

                                  • 这有助于社区版 2017.2。在此之后我还必须导入 gradle 项目。 2017,这个问题仍然存在。
                                  【解决方案23】:

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

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

                                  【讨论】:

                                  • 尝试了所有这些,唯一对我有用的是#4,关闭 IntelliJ,删除 .idea 文件夹,然后重新加载项目。这发生在我创建一个新的 git 分支后。
                                  • 听起来像是 intellij 的一个错误,我想知道是否为此创建了问题?
                                  • 同意,当任何与 git 相关的操作在 IntelliJ 之外执行时发生在我身上。同时,它为我构建得很好,仅在我执行 Build > Recompile '' 以进行热交换时发生。因此,我无法接受像“打开/关闭 IntelliJ”、“无效/重建项目”等解决方案。但这让我很生气。
                                  【解决方案24】:

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

                                  【讨论】:

                                    【解决方案25】:

                                    使缓存无效/重新启动,然后Build -> Rebuild Project帮助了我

                                    【讨论】:

                                      【解决方案26】:
                                      menu -> build -> Rebuild Project
                                      

                                      对我有用

                                      (没有这一步使缓存无效)

                                      【讨论】:

                                      • 同样的事情帮助了我 - 右键单击​​项目 -> 重建模块
                                      【解决方案27】:

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

                                      【讨论】:

                                        【解决方案28】:

                                        以上方法都试过了,还是不行。 终于运行maven clean install 解决了!

                                        【讨论】:

                                          【解决方案29】:

                                          我尝试“Maven > Reimport”,但唯一真正修复它的是关闭项目,删除 .idea 目录,然后重新打开项目。

                                          【讨论】:

                                          • 这有帮助,但问题会在一段时间后再次出现。
                                          • 我在 IntelliJ 2018 和 Gradle 上遇到了类似的问题。它找不到 Spring 包。这样做为我解决了这个问题。
                                          • 重新导入:按Ctrl+Shift+A查找动作,输入“reimport”,会看到“Reimport All Maven Projects”。
                                          • 尤里卡,终于有东西了!世界上所有的重新进口都没有解决它。甚至没有“使缓存无效并重新启动”,但这确实......
                                          • 我认为现在是“重新加载所有 Maven 项目”。当缓存无效和重建没有做任何事情时,它也对我有用。
                                          【解决方案30】:

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

                                          【讨论】:

                                          猜你喜欢
                                          • 1970-01-01
                                          • 1970-01-01
                                          • 2019-05-21
                                          • 1970-01-01
                                          • 1970-01-01
                                          • 2014-08-11
                                          • 2020-02-11
                                          • 1970-01-01
                                          相关资源
                                          最近更新 更多