18. docker 運行容器,提示 no main manifest attribute, in /xxxxxx.jar


問題:
docker run -p 40002:40002 intelligent-posture-image
no main manifest attribute, in /intelligent-posture-image.jar

原因:這個問題主要是因為MANIFEST.MF文件內沒有指定啟動Main-Class主類

三種解決方式

  1. 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>
  1. 指定MANIFEST.MF文件內容中的啟動Main-Class主類
  2. 一般情況下,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.類名


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM