• spring boot maven 打包提示程序包xxx不存在?


    原文地址:https://www.zhihu.com/question/292734760/answer/482329716

    作者:VayCi
    链接:https://www.zhihu.com/question/292734760/answer/482329716
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    为什么会提示程序包不存在呢?

    你的A模块是一个spring boot项目,创建生成的pom的中肯定是这样的build的

        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    

    emmm...使用了spring boot的build plugin。这时候A模块install到仓库的jar包是什么样子的呢?

    是的,模块A已经按照spring boot的启动机制调整了目录结构,模块B找不到模块A的类了。

     

    临时解决方案

    尝试把模块A的pom中build部分的spring boot plugin去掉

        <build>
            <plugins>
                <!--<plugin>-->
                    <!--<groupId>org.springframework.boot</groupId>-->
                    <!--<artifactId>spring-boot-maven-plugin</artifactId>-->
                <!--</plugin>-->
            </plugins>
        </build>

    注释掉之后,重新install模块A,再看jar包结构

    这才是一个最普通不过的jar包,这时候再去install模块B,肯定不会报找不到程序包的错了。

     

    更好的解决方案

    假如我的模块A也是要运行的一个应用,那每次都要修改pom打两次包吗?

    并不。再次修改模块A的pom,改为如下配置

        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <configuration>
                        <classifier>exec</classifier>
                    </configuration>
                </plugin>
            </plugins>
        </build>

    install模块A,查看仓库jar包。

    可以看到仓库里生成了两个jar包。

    看jar包大小很容易可以猜到。

    上面是普通的jar包,下面名称带exec的是一个可以直接运行的spring boot的jar包。

    依赖还是那个依赖,要运行就把exec拿出来java -jar!

  • 相关阅读:
    如何通過編程獲取列表項目的附件以及多行文本中的文件內容
    小技巧:如何管理保存在本地的用户凭据
    WF 4.0中如何实现xaml工作流的动态加载
    使用jquery构造自己的多级菜单
    和安蕾尔的合影
    360太tmd脑残了
    3D 打印机技术设想
    再放2张数字油画
    解决问题的艺术:半小时编程实现照片的反转负冲特效
    承接数字油画图稿/线条图定制(出图)业务
  • 原文地址:https://www.cnblogs.com/eyesfree/p/14844777.html
Copyright © 2020-2023  润新知