maven打包因为公共模块依赖导致的问题
公共模块不要用springboot构建
公共模块创建时,建立普通的maven项目就可以了,一般不用springboot构建。
如果已经是springboot项目,可以在pom文件中将下面的打包组件去掉。
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
公共模块可以用下面这个打包组件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
打包项目之前,先install公共模块
一般来说,在idea中能正常运行,而打包的时候显示找不到公共模块中的某个类或者方法,甚至公共模块中的全部都找不到,这就是因为没有将最新的公共模块install到本地maven库中。
这是idea中我常用的几个命令,希望能对你有所帮助。
打包以后,读取自定义文件出错
有时候为了炫技,会自己写个配置文件自己读取,我就是这样。自定义一个配置文件,配置多个数据源,然后application.properties中指定自定义配置文件 的位置,将其通过代码自己读取。
依然是在本地idea中可以完美运行,打包以后就不行了,具体原因是因为不能直接读jar包中的文件,解决方法网上有,但是不太想去试了,麻烦。
将自定义配置文件的位置定死,只许放到某个盘某个目录下,解决。
小经验
如果依赖的公共模块实在是springboot构建的,尽量不要在里面读取配置文件中的内容,不然你的项目将其依赖进来,可能相同的配置会出现冲突,我猜测是以你本地的为主,公共模块被覆盖。(猜测,debug是检验的唯一标准)