使用maven打包spring项目

maven打包

spring单结构项目打包

sring项目打包

//让src/main/java 和 src/resource/java 中的xml文件和properties文件都跟随打包
 <resources>
      <resource>
        <directory>src/main/java</directory>
        <includes>
          <include>**/*.xml</include>
          <include>**/*.properties</include>
        </includes>
      </resource>

      <resource>
        <directory>src/main/resources</directory>
        <includes>
          <include>**/*.xml</include>
          <include>**/*.properties</include>
        </includes>
      </resource>
    </resources>

jsp打包

<resources>
	<resource>
	    <directory>src/main/webapp</directory>
	    <targetPath>META-INF/resources</targetPath>
	    <includes>
		<include>**/*.*</include>
	    </includes>
	</resource>
</resources>

使用mybatis时的mapper映射文件目录的打包

<resources>
	<resource>
		<directory>src/main/java</directory>
		<includes>
			<include>**/*.xml</include>
		</includes>
	</resource>
</resources>

单结构项目打包终极方法

**如果以上的方式都不管用就使用下面的终极方法:**直接打包resources下的全部文件

<resources>
	<resource>
		<directory>src/main/resources</directory>
		<includes>
			<include>**/*.*</include>
		</includes>
	</resource>
</resources>

最后点击生命周期的package就打包完成了

image-20230523151739272

父子结构打包

**场景:**把之前的项目进行多模块开发后,模块之间相互依赖,但是需要打包一份子模块单独测试

当你的项目升级成分模块开发后上面的打包方式用不了了,打包出来的jar包只有十几二十k,运行之后会出现以下错:

image-20230523150748722

那肯定是我们打包的方式出现了错误了

解决子包无法打包

父级pom配置: 不可以加build! 不可以加! 不可以加!

image-20230523145349076

在需要打包的项目配置pom

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <!--如果依赖有lombok后打包出错可以写上下面这段,无可以不写-->
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                    
                    <mainClass>org.example.GatewayApplication</mainClass><!--项目启动类-->
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.*</include><!--打包resources下的所有文件-->
                </includes>
            </resource>
        </resources>
    </build>

在父级pom的路径下执行打包命令

mvn clean package -Dmaven.test.skip=true

image-20230523150158138

打包完后我们就可以看到jar包就不是之前的不到100k的项目了

image-20230523150101238

猜你喜欢

转载自blog.csdn.net/m0_57647880/article/details/130828166
今日推荐