微服务打包报程序包X.X.X.X.X不存在

打包发现:

从maven下down下的本地仓库也能查找到这个包,而且反编译包之后也存在该文件,但还是读取不到。

经查找资料发现,spring-boot项目打包会生成两个jar包,一个可执行的,一种普通的,默认是可执行的直接覆盖普通jar,而微服务调用时,是需要辨识出普通jar包中内容。后发现经过配置,可解决问题。

spring boot使用spring-boot-maven-plugin打出的jar包不能直接提供给第三方依赖,需修改配置单独打一个可依赖的jar包。

下图红框框中表示可以生成不含依赖包的不可执行Jar包。

配置完之后需要把被调用重新install 一下,再打包调用方jar包。

记录下,防止下次出现该问题,无法解决。

记录下图配置

<build>
        <plugins>
            <plugin>
                <!-- The plugin rewrites your manifest -->
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>1.3.0.RELEASE</version>
                <configuration><!-- 指定该Main Class为全局的唯一入口 -->
                    <mainClass>com.owen.OwenApplication</mainClass>
                    <layout>ZIP</layout>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中-->
                        </goals>
                        <!--可以生成不含依赖包的不可执行Jar包-->
                        <!-- configuration>
                          <classifier>exec</classifier>
                        </configuration> -->
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
原文地址:https://www.cnblogs.com/cjll/p/14168498.html