SpringBoot剔除三方库与配置资源


一、在pom.xml中的build加入以下配置:

    <build>
        <finalName>${project.artifactId}finalName>
        <plugins>
            
            <plugin>
                <artifactId>maven-surefire-pluginartifactId>
                <configuration>
                    <skipTests>trueskipTests>
                configuration>
            plugin>
            
            <plugin>
                <groupId>org.apache.maven.pluginsgroupId>
                <artifactId>maven-jar-pluginartifactId>
                <configuration>
                    <archive>
                        <manifest>
                            <addClasspath>trueaddClasspath>
                            
                            <classpathPrefix>lib/classpathPrefix>
                            
                            <useUniqueVersions>falseuseUniqueVersions>
                            
                            <mainClass>com.irobot.robotdev.RobotDevApplicationmainClass>
                        manifest>
                        <manifestEntries>
                            
                            <Class-Path>resources/Class-Path>
                        manifestEntries>
                    archive>
                    
                    <excludes>
                        <exclude>*.ymlexclude>
                        <exclude>*.propertiesexclude>
                        <exclude>mapper/*.xmlexclude>
                    excludes>
                    
                    <outputDirectory>${project.build.directory}/outputDirectory>
                configuration>
            plugin>
            
            <plugin>
                <groupId>org.apache.maven.pluginsgroupId>
                <artifactId>maven-dependency-pluginartifactId>
                <executions>
                    <execution>
                        <id>copy-libid>
                        <phase>packagephase>
                        <goals>
                            <goal>copy-dependenciesgoal>
                        goals>
                        <configuration>
                            <outputDirectory>target/liboutputDirectory>
                            <excludeTransitive>falseexcludeTransitive>
                            <stripVersion>falsestripVersion>
                            <includeScope>runtimeincludeScope>
                        configuration>
                    execution>
                executions>
            plugin>
        plugins>

        
        <resources>
            <resource>
                <directory>src/main/javadirectory>
                <includes>
                    <include>**/*.propertiesinclude>
                    <include>**/*.xmlinclude>
                includes>
                <filtering>truefiltering>
            resource>
            
            <resource>
                <directory>src/main/resourcesdirectory>
                <excludes>
                    <exclude>**/*.xmlexclude>
                    <exclude>**/*.ymlexclude>
                    <exclude>**/*.propertiesexclude>
                    <exclude>**/*.shexclude>
                    
                    <exclude>**/*.txtexclude>
                excludes>
                <filtering>truefiltering>
            resource>
        resources>
    build>

二、在服务器三方库、配置文件


三方库存在在lib目录下面,配置资源存放在config目录下。如图所示:

./springboot.sh start test-boot.jar