首页 > 文章列表 > 如何解决import包时报Java程序包不存在的问题

如何解决import包时报Java程序包不存在的问题

java import
485 2023-05-02

如何解决import包时报Java程序包不存在的问题

网上有很多解决方式,我想到的都汇总起来了,方便以后查看,你可能采用其中一种就能解决问题,我是用了最后一种才解决。

如果你要导入的包在Libraries下都本身一直没有存在,你这时就得看看pom里对应的依赖写的有没有问题,名字版本什么的在使用的仓库中有没有对应的jar包,如果确定没有问题,那么再尝试采取以下的前几种方式解决。

1. 执行Maven ->reload project

作用:重新导入Maven包

2种方式:

1.选择 Project 目录右键 -> Maven -> reload project

2.maven插件方式刷新(推荐)

2. 执行 Invalidate and Restart

作用:清除 Idea 缓存,并且重启 Idea。

很多情况下idea导致的问题通过这个方式基本都能解决。

方式:-> 工具栏 -> File -> Invalidate Caches / Restart

3. 统一编码

作用:将编码设置成 UTF-8。

方式:都设置成UTF-8,设置完别忘记点击Apply(应用)

4. 重新编译

方式很多:

1.点击Build菜单下的rebuild

2.在maven插件下的对应项目/模块下点击1,2。install代表重新安装包。

5. 设置idea自动加载jar包

当出现如题所示的错误时候,不用着急,这是因为配置Java的程序包这块出现了错误,同时可能你还没有设置让IDEA自动加载Jar包,才会报出这种错误的。解决方式如下:

File—>Setting—>Build,Execution,Deployment—>Maven—>Importing

6.删除本地的私有仓库后,再更新maven,重新加载

ps:我出现的问题用以上方式都没能解决,用接下来的才解决了。希望你不需要看到这里。

8.如果以上方式都没能解决,那毋庸置疑是idea的问题,如果你用的是2020.1~3版的,那有问题的概率更大

解决方式:将IDEA 的 build/run 动作如果委托给了 maven

此时再重新编译运行,能正常通过。

但是,如果你感觉启动变慢的话,你要检查下是不是编译了两遍,可以写个测试类,一编译启动就插入一条数据,看数据库是否会有两条;也可以直接看idea下面的编译框。

为什么会编译两遍呢?

上述委托给maven勾选后,找不到包的问题解决后,但是可能maven插件和idea会先后各编译了一遍。

解决方式:将pom.xml里的编译插件换成

	  <plugin>

        <groupId>org.apache.maven.plugins</groupId>

        <artifactId>maven-surefire-plugin</artifactId>

        <version>2.22.1</version>

        <configuration>

          <skipTests>true</skipTests>

        </configuration>

      </plugin>

这时发现只会编译一遍了。本地通过idea启动项目不会有什么问题了。

但是,当你将项目打成包,通过jar方式启动时,可能出现报错,找不到主属性,当然了,没有更好,有的话,继续补充下面的代码就行。

 <plugin>

        <groupId>org.apache.maven.plugins</groupId>

        <artifactId>maven-compiler-plugin</artifactId>

        <configuration>

          <source>1.8</source>

          <target>1.8</target>

        </configuration>

      </plugin>

      <plugin>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-maven-plugin</artifactId>

        <executions>

          <execution>

            <goals>

              <goal>repackage</goal>

            </goals>

          </execution>

        </executions>

      </plugin>