spring-boot 打jar包不可执行

94 阅读1分钟

前言

使用 start.aliyun.com/ 生成spring boot项目后在idea中能够正常启动,但是打包后发现无法运行。

java -jar pdf-1.0.jar
pdf-1.0.jar中没有主清单属性

输出不包含清单属性,后产看打包后大小只有6kB

PPSITQ`P}(8AF)XP43))D.png

原因

检查pom配置文件插件配置部分

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <version>${spring-boot.version}</version>
    <configuration>
        <mainClass>com.feng.pdf.PdfApplication</mainClass>
        <skip>true</skip>
    </configuration>
    <executions>
        <execution>
            <id>repackage</id>
            <goals>
                <goal>repackage</goal>
            </goals>
        </execution>
    </executions>
</plugin>

处理

去掉配置 <skip>true</skip> 就可以正常了,我直接去掉<configuration>配置

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <version>${spring-boot.version}</version>
    <executions>
        <execution>
            <id>repackage</id>
            <goals>
                <goal>repackage</goal>
            </goals>
        </execution>
    </executions>
</plugin>

现在打包正常

image.png

java -jar pdf-1.0.jar
  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v2.7.6)

2024-02-01 13:48:46,752 INFO [main] Starting PdfApplication using Java 1.8.0_271 on real with PID 26604 (E:\github\2024\pdf\target\pdf-1.0.jar started by vieux in E:\github\2024\pdf\target)
2024-02-01 13:48:46,756 INFO [main] No active profile set, falling back to 1 default profile: "default"
2024-02-01 13:48:49,012 INFO [main] Netty started on port 80
2024-02-01 13:48:49,020 INFO [main] Started PdfApplication in 2.612 seconds (JVM running for 3.592)