springboot打包jar,因为是压缩jar,所有读取resource配置文件有问题,现在用下面方法构建,每次编码后jar不到1M,读取配置文件不报错 1,maven配置,打包 <build> <!-- 打包后的项目名称 --> <finalName>ahsj-web</finalName> <resources> <resource> <directory>src/main/java</directory> <filtering>false</filtering> <excludes> <exclude>**/*.java</exclude> </excludes> </resource> </resources> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <skip>true</skip> </configuration> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> <!-- 打包插件 --> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <appendAssemblyId>false</appendAssemblyId> <descriptors> <!--assembly.xml所在目录,如果你更换目录的话这里也要改 --> <descriptor>assembly.xml</descriptor> </descriptors> <!-- 打包后的文件生成目录--> <outputDirectory>${project.build.directory}/dist/</outputDirectory> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.1.0</version> <configuration> <archive> <manifest> <!--main启动类--> <mainClass>link.ahsj.target.Application</mainClass> <classpathPrefix>lib/</classpathPrefix> <addClasspath>true</addClasspath> </manifest> <manifestEntries> <Class-Path>resources/</Class-Path> </manifestEntries> </archive> </configuration> </plugin> </plugins> </build>
2,assembly.xml 和pom.xml是同一级目录
<?xml version="1.0" encoding="UTF-8"?> <assembly> <id>distribution</id> <formats> <format>dir</format> </formats> <includeBaseDirectory>false</includeBaseDirectory> <fileSets> <!-- 配置文件生成目录 --> <fileSet> <directory>src/main/resources/</directory> <outputDirectory>/resources</outputDirectory> </fileSet> <fileSet> <directory>bin/</directory> <outputDirectory>/</outputDirectory> </fileSet> </fileSets> <dependencySets> <!-- lib所有jar包存放目录 --> <dependencySet> <outputDirectory>/lib</outputDirectory> <scope>runtime</scope> <excludes> <exclude>${project.groupId}:${project.artifactId}</exclude> </excludes> </dependencySet> <dependencySet> <outputDirectory>/</outputDirectory> <includes> <include>${project.groupId}:${project.artifactId}</include> </includes> </dependencySet> </dependencySets> </assembly>
其他人贡献gitee地址:https://gitee.com/chenshiyun/springboot-assembly-mybatis.git