错误信息
Error: bad option -make:transitive
最近scala项目编译打包时候总是出现上述问题,目前最快捷的解决方案就是删除.idea目录下的scala_compiler.xml文件中的 但是这种方案治标不治本,每次加载后后仍会重新出现该问题,这里我们可以检查,在pom文件中是否存在下边的配置内容:
<configuration>
<args>
<arg>-make:transitive</arg>
<arg>-dependencyfile</arg>
<arg>${project.build.directory}/.scala_dependencies</arg>
</args>
</configuration>
相信一般都会有这个东西,如果有则删除 -make:transitive这一行内容,重新package 或者install 即可,以后每次打包都不会出现上述问题了。
这里思考一下为什么会出现该问题,结合网上的案例和尝试,初步发现是由于scala2.11.x版本在编译过程中由于版本与jdk的不匹配导致的。我们可以尝试更新一下jdk的版本,或者降低scala版本。具体的匹配关系目前还没有具体的映射关系,不过这两种方案完全可以解决当前所遇到的问题。
解决方案总结
- 方案一 删除.idea目录下的scala_compiler.xml文件中的
- 方案二. 删除pom文件中 -make:transitive内容
备注: 重启idea(并非所有的idea都用重启)