问题:

在进行docker部署的时候,开始对项目进行打包,在启动该镜像时

[root@topcheer docker]# docker run -it 00494e3d4550
no main manifest attribute, in /app.jar

提示没有入口类信息

解决:

     项目基于maven pom多模块的开发的,需要设置goal-repackage属性为true,否则打包后文件依赖文件没有一起打包,然后镜像内没有可以运行的程序文件

如下:2个打包插件都要,不然只有docker的会导致打包不完整。

<plugins>
            <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
           <!--加入下面两项配置-->
           <executions>
             <execution>
               <goals>
                 <goal>repackage</goal>
               </goals>
             </execution>
           </executions>
            <configuration>
                 <includeSystemScope>true</includeSystemScope>
            </configuration>
      </plugin>
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.2.0</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>build</goal>
                        </goals>
                   </execution>
                    <execution>
                        <id>tag-image</id>
                        <phase>package</phase>
                        <goals>
                            <goal>tag</goal>
                        </goals>
                        <configuration>
                            <image>${docker.repostory}/${docker.image.prefix}/${project.artifactId}:1.0.1</image>
                            <newName>${docker.repostory}/${docker.image.prefix}/${project.artifactId}:1.0.1</newName>
                        </configuration>
                    </execution>

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐