解决SpringBoot启动提示没有主清单属性

一次紧急项目开发,Springboot框架搭建完成,直接编辑器[eclipse]里开发代码,代码开发完成后,一直都在编辑器里启动服务
测试正常后,准备发测试包的时候,编译成功, but 启动失败,what? 如下图

启动执行,java -jar xx.jar结果如下

经查找发现 POM文件内容缺失 spring-boot-maven-plugin ,如下

	<build>
			<finalName>office</finalName>
			<resources>
				<resource>
					<directory>${basedir}/src/main/webapp</directory>
					<!--注意此次必须要放在此目录下才能被访问到 -->
					<targetPath>META-INF/resources</targetPath>
					<includes>
						<include>**/**</include>
					</includes>
				</resource>
				<resource>
					<directory>${basedir}/src/main/resources</directory>
					<includes>
						<include>**/**</include>
					</includes>
				</resource>
			</resources>
			<plugins>
				<plugin>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-maven-plugin</artifactId>
					<configuration>
						<fork>true</fork>
					</configuration>
			    </plugin>
				<plugin>
			        <artifactId>maven-compiler-plugin</artifactId>
			        <configuration>
			            <source>1.8</source>
			            <target>1.8</target>
			            <encoding>UTF-8</encoding>
			            <compilerArguments>
			                <extdirs>${project.basedir}/lib</extdirs>
			            </compilerArguments>
			        </configuration>
				</plugin>
			</plugins>
		</build>

另外通过本地引入的二方包或三方包,需要修改为maven的scope为system本地jar, 如下

依赖定义

	<dependency>
		<groupId>xxxxx.xx.xxx</groupId> /* 随意填*/
		<artifactId>xxxx</artifactId>/* 随意填*/
		<version>1.0.0</version>/* 随意填*/
		<scope>system</scope>
		<systemPath>${project.basedir}/src/main/resources/lib/{third-name.jar}</systemPath>/* 引入包路径 */
	</dependency>	

编译打包

	<build>
		<resources>
			<resource>
				<directory>${project.basedir}/src/main/resources/lib</directory>
				<targetPath>BOOT-INF/lib/</targetPath>
				<includes>
					<include>**/*.jar</include>
				</includes>
			</resource>
		</resources>
	</build>

以上
2020-03-26

原文地址:https://www.cnblogs.com/pengsn/p/12572180.html