10年 Java程序员,硬核人生!勇往直前,永不退缩!

欢迎围观我的git:https://github.com/R1310328554/spring_security_learn 寻找志同道合的有志于研究技术的朋友,关注本人微信公众号: 觉醒的码农,或Q群 165874185

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

  一直这个错误:

 

 -------------------------------------------------  下面的方法试了,不行。。。 

明明就在一个包里面的类,引用的时候都出现了红色错误,无法导入类。
或者其他的不可思议的错误。
可以试试“清除缓存重启”:
第一步:菜单中选择file->invalidate caches / restart

 

 

第二步:在弹出框中选择Invalidate and Restart。idea关闭并且自动重启,重启后问题解决。

 如果idea出现类似的不合逻辑的错误,很有可能是缓存导致,试试“清除缓存重启”! 

 

 -----------------------------------------------------  后面终于发现问题, 原来是 maven的打包问题, thin jar 打包成了 fat jar

下面的 jar 的大小, 明显不对, 怎么可能59M ? 明显是 fat jar 的节奏

 

去掉 spring-boot-maven-plugin 就可以引入了!  

            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.4.2</version>
<!--                <version>${spring-boot.version}</version>-->
                <configuration>
                    <mainClass>com.test.sad.JavaGateApplication</mainClass>
                    <jvmArguments>-Xms256M -Xmx1024M -XX:+UseConcMarkSweepGC</jvmArguments>
                    <executable>true</executable>
                    <includeSystemScope>true</includeSystemScope>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

 

或者修改打包时候的资源寻找位置:

    <build>
        <resources>
            <!--mvn打包时,加入mvn外的jar包-->
            <resource>
                <directory>lib</directory>
                <targetPath>BOOT-INF/lib</targetPath>
                <includes>
                    <include>**/*.jar</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <!--java文件中的xml文件允许打进包中,这部分是mybatis文件-->
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <!--这里打包的时候不打配置文件,因为这里的jar包仅供其他项目集成,应该在使用此jar的最外层加配置-->
                <excludes>
                    <exclude>*.properties</exclude>
                    <exclude>*.xml</exclude>
                </excludes>
            </resource>
        </resources>
...

 

通过 BOOT-INF/lib 就可以把 额外的jar 打包进来。

 

over !

 

posted on 2021-07-27 20:07  CanntBelieve  阅读(1531)  评论(0编辑  收藏  举报