問題:
docker run -p 40002:40002 intelligent-posture-image
no main manifest attribute, in /intelligent-posture-image.jar
原因:這個問題主要是因為MANIFEST.MF文件內沒有指定啟動Main-Class主類
三種解決方式
- pom.xml 中添加下方代碼,再重新打包
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
<goal>build-info</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
- 指定MANIFEST.MF文件內容中的啟動Main-Class主類
- 一般情況下,java 打包成 jar 包需要在 MANIFEST.MF 中指定 Main-Class 項,以便運行 java -jar xxx.jar 時找到對應的主類。因為-jar的含義就是后面跟的jar包是有main class可獨立運行,所以需要在打包成jar包時指定這個類;否則,需要在執行的時候手動指定。
解決方案:
在運行jar包時,使用 -cp / --classpath 來手動指定。
java -cp xxx.jar com.juanxinc.xxx.類名