欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Springboot 打包注意问题

程序员文章站 2022-07-12 19:16:59
...

注意点1:如果有本地包,需要在 pom.xml 文件中做特殊处理,否则,最后的包中不包含 本地导入的 jar 包。如:在项目中引用                  lib 下的 jar 包(lucene 分词),在idea 中能够正常运行使用,但通过 maven 打包后,会发现报错,缺少该 jar 包中的                  类。

                解决:在 pom.xml 文件中,添加一下代码:

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <fork>true</fork><!-- 如果没有该配置,热部署的devtools不生效 -->
                <includeSystemScope>true</includeSystemScope>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <configuration>
                <webResources>
                    <resource>
                        <directory>${project.basedir}/src/lib</directory>
                        <targetPath>BOOT-INF/lib</targetPath>
                        <!--<filtering>false</filtering>-->
                        <includes>
                            <include>**/*.jar</include>
                        </includes>
                    </resource>
                    <resource>
                        <directory>src/main/resources</directory>
                        <targetPath>BOOT-INF/classes/</targetPath>
                     </resource>
                </webResources>
            </configuration>
            <version>2.1.1</version>
        </plugin>
    </plugins>
</build>

注意点2:通过 maven 打包时,默认会进行测试(如链接数据库、访问本地文件夹等),但往生产环境部署时,通常要先将配置                信息改为生产环境的,这时有可能会执行报错(如开发数据库和生产数据库分别在内外网、文件路径开发环境是                           Windows 生产环境是 Linux)

解决:需要在 pom.xml 文件中添加如下代码:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.18.1</version>
    <configuration>
        <!--true跳过测试-->
        <skipTests>true</skipTests>
    </configuration>
</plugin>