启动springboot项目提示没有主清单属性

发布于:2025-06-17 ⋅ 阅读:(14) ⋅ 点赞:(0)

springboot 项目pom配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.docker</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demo</name>
    <description>demo</description>
    <packaging>jar</packaging>
    <properties>
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <spring-boot.version>2.2.3.RELEASE</spring-boot.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
          <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>

                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
           <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${spring-boot.version}</version>
                <configuration>
                    <mainClass>com.docker.demo.DemoApplication</mainClass>
                    <skip>false</skip>
                </configuration>
            </plugin>

        </plugins>
    </build>

</project>

 

执行:java -jar  demo-0.0.1-SNAPSHOT.jar


提示:demo-0.0.1-SNAPSHOT.jar中没有主清单属性

解压:demo-0.0.1-SNAPSHOT.jar  
打开 demo-0.0.1-SNAPSHOT\META-INF\MANIFEST.MF 文件,内容如下

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Built-By: Administrator
Created-By: Apache Maven 3.2.5
Build-Jdk: 1.8.0_261

缺少了启动类Start-Class: com.docker.demo.DemoApplication


解决方法:
1.修改spring-boot-maven-plugin插件配置增加repackage

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <version>${spring-boot.version}</version>
    <configuration>
        <mainClass>com.docker.demo.DemoApplication</mainClass>
        <skip>false</skip>
    </configuration>
   <executions>
       <execution>
           <id>repackage</id>
           <goals>
               <goal>repackage</goal>
           </goals>
       </execution>
   </executions>
</plugin>

2. IDEA 执行 mvn clean  mvn install

3. 执行 java -jar demo-0.0.1-SNAPSHOT.jar 启动成功

4.打开 demo-0.0.1-SNAPSHOT\META-INF\MANIFEST.MF 文件,内容如下

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Built-By: Administrator
Start-Class: com.docker.demo.DemoApplication
Spring-Boot-Classes: BOOT-INF/classes/
Spring-Boot-Lib: BOOT-INF/lib/
Spring-Boot-Version: 2.2.3.RELEASE
Created-By: Apache Maven 3.2.5
Build-Jdk: 1.8.0_261
Main-Class: org.springframework.boot.loader.JarLauncher


网站公告

今日签到

点亮在社区的每一天
去签到