springboot 项目打包的时候一些坑,记录一下
当我们想将我们打的jar包放到别人项目的时候需要做的步骤:
1、去掉所有的test方法
2、将pom文件的
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
改为
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
这样就不会将多余的文件打到jar包中,方便引用
3、包扫描
在spring boot的main方法中 的类中加入
@ComponentScan({"....."})//你引用的包的扫描地址
@MapperScan({".....mapper"})//你引用的jar包中的mapper地址
4、配置文件需要将jar包的配置全部注销,放置到当前项目的配置中即可
爬过的坑。。。
不要试图提前加载运行jar包中的方法,,如果里面有引用配置文件属性,就会读取为空的!!!
当时用的@PostConstruct 注解直接运行,然后找了一早上的空指针,
最后发现是因为配置文件是在这个@PostConstruct 注解后才加载的!!!
吐了好几升的血。。。。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>