2021-07-24

SpringBoot使用问题汇总@TOC

jar包打包,并把配置文件放到jar包外部

<profiles>
	<profile>
		<id>prov</id>
	    <build>
	        <finalName>${name}</finalName>
	        <plugins>
	            <plugin>
	                <groupId>org.springframework.boot</groupId>
	                <artifactId>spring-boot-maven-plugin</artifactId>
	                <configuration>
	                    <layout>ZIP</layout>
	                    <includes>
	                        <include>
	                            <groupId>nothing</groupId>
	                            <artifactId>nothing</artifactId>
	                        </include>
	                    </includes>
	                </configuration>
	            </plugin>
	            <!-- 可执行jar插件 -->
	            <plugin>
	                <groupId>org.apache.maven.plugins</groupId>
	                <artifactId>maven-jar-plugin</artifactId>
	                <configuration>
	                    <!-- 这些配置将写入到MANIFEST.MF文件中-->
	                    <archive>
	                        <!-- 定程序入口-->
	                        <manifest>
	                            <addClasspath>true</addClasspath>
	                            <classpathPrefix>lib/</classpathPrefix>
	                            <mainClass>cn.com.chnsys.ecms.ECMSApplication</mainClass>
	                            <useUniqueVersions>false</useUniqueVersions>
	                        </manifest>
	                        <!--   (配置文件外置目录) -->
	                        <manifestEntries>
	                            <Class-Path>configurations/ .</Class-Path>
	                        </manifestEntries>
	                    </archive>
	                    <!-- 将哪些资源 不打包到BOOT-INF中-->
	                    <excludes>
	                        <exclude>**/*.xml</exclude>
	                        <exclude>**/*.yml</exclude>
	                        <exclude>**/*.yaml</exclude>
	                        <exclude>config</exclude>
	                        <exclude>**/*.properties</exclude>
	                    </excludes>
	                </configuration>
	            </plugin>
	            <!-- maven资源文件复制插件 -->
	            <plugin>
	                <groupId>org.apache.maven.plugins</groupId>
	                <artifactId>maven-resources-plugin</artifactId>
	                <executions>
	                    <execution>
	                        <id>copy-config</id>
	                        <phase>package</phase>
	                        <goals>
	                            <goal>copy-resources</goal>
	                        </goals>
	                        <configuration>
	                            <outputDirectory>${project.build.directory}/configurations</outputDirectory>
	                            <resources>
	                                <resource>
	                                    <directory>src/main/resources</directory>
	                                </resource>
	                            </resources>
	                            <encoding>UTF-8</encoding>
	                        </configuration>
	                    </execution>
	                </executions>
	            </plugin>
	            <plugin>
	                <groupId>org.apache.maven.plugins</groupId>
	                <artifactId>maven-dependency-plugin</artifactId>
	                <executions>
	                    <execution>
	                        <id>copy-dependencies</id>
	                        <phase>package</phase>
	                        <goals>
	                            <goal>copy-dependencies</goal>
	                        </goals>
	                        <configuration>
	                            <!-- &lt;!&ndash;${project.build.directory} class的输出目录不做设置的话默认代表项目根目录的target目录;
	                                 也可以使用“自定义文件夹/自定义文件夹 例如:a/b”,也可以使用绝对路径如:“D:\test” &ndash;&gt;-->
	                            <outputDirectory>${project.build.directory}/lib</outputDirectory>
	                            <excludeTransitive>false</excludeTransitive>
	                            <stripVersion>false</stripVersion>
	                            <includeScope>runtime</includeScope>
	                        </configuration>
	                    </execution>
	                </executions>
	            </plugin>
	        </plugins>
			</build>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
		</profile>
		<profile>
			<id>dev</id>
			<build>
				<finalName>${name}</finalName>
				<resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.yml</include>
                    <include>**/*.xml</include>
                    <include>**/*.properties</include>
                </includes>
                <filtering>false</filtering>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>false</filtering>
            </resource>

        </resources>
        <testResources>
            <testResource>
                <directory>src/test/java</directory>
                <includes>
                    <include>**/*.yml</include>
                    <include>**/*.xml</include>
                    <include>**/*.properties</include>
                </includes>
            </testResource>
            <testResource>
                <directory>src/test/resources</directory>
                <filtering>false</filtering>
            </testResource>
        </testResources>
				<plugins>
					<plugin>
						<groupId>org.springframework.boot</groupId>
						<artifactId>spring-boot-maven-plugin</artifactId>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

JAR包启动问题

1、加载不到ServletWebServerFactory这个bean

Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean

spring-boot-starter-tomcat依赖的scope不能为provided,必须是默认:compile。provided表示此依赖已经被其他环境提供了,实际运行时不会将此依赖放到classpath中

1、xxxxxx

Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean

spring-boot-starter-tomcat依赖的scope不能为provided,必须是默认:compile。provided表示此依赖已经被其他环境提供了,实际运行时不会将此依赖放到classpath中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值