今天在开发spark项目中,发现用maven打包spark项目有一定的概率无法把json配置文件打包到jar中,有点疑惑。问了下同事,才知道配置相关文件要放到resources目录下,在打包过程中,maven会把resources下的资源放到jar包的根目录,在项目中就可以按照/xx.json的方式引入文件。

另外,如果maven要打包依赖的话,必须指定scope=compile。由于服务器会存在基础的依赖包,所以只需要设置没有的依赖scope=compile即可,这也可以极大减小jar包的大小。具体地可以设置基础依赖共用一个scope,其它依赖共用一个scope。