BOOT项目依赖另外一个模块的包,开发的时候都正常,执行clean package打包成jar时却提示依赖的模块包不存在。

我在service1模块里依赖了common模块,开发的时候包都能正常引用到,启动也能正常测试访问,可是奇怪的是,当我要打包成jar包时,就提示service1里依赖common的包都不存在,之前从没遇到过这种问题,有清楚这是什么原因造成的吗???

进一步测试问题,初步发现问题

那就是在公共模块common里不要引入下面这个:

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

引入上面的配置,其他模块在引入这个common时会导致打包时找不到common的包

原因是springboot的maven插件使用了shade插件打包,打包目录结构与一般打包结构不同导致找不到依赖

 先将common模块的打包方式改为常用方式

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
进入common模块mvn clean install
然后在项目内mvn clean package

posted on 2018-01-17 11:48  层林尽染  阅读(481)  评论(0编辑  收藏  举报

导航