小白转flink技术栈心得之混编java和scala报错:error: java.lang.NoClassDefFoundError: javax/tools/ToolProvider

今天刚接手了一个flink项目,代码里有java也有scala写的部分,小白第一次遇到要java和scala都需编译的项目,于是乎先进行scala的编译:

mvn clean scala:compile compile package -Pfat -DskipTests 

结果报了一个错误:

[ERROR] error: java.lang.NoClassDefFoundError: javax/tools/ToolProvider

[ERROR] Failed to execute goal net.alchim31.maven:scala-maven-plugin:3.2.2:compile (default-cli) on project xxx: wrap: org.apache.commons.exec.ExecuteException: Process exited with an error: 240 (Exit value: 240) -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

小白一头雾水,去google查了很多,有说java高版本的问题(本地java8运行,这个排除)
最后找到了一个方法,在pom文件中的scala-maven-plugin插件下面加入一个参数:

        <configuration>
          <args>
            <arg>-nobootcp</arg>
            .......
          </args>
        </configuration>

再次编译就成功了,搞定!
查了下官方文档,关于该参数的解释是:

-nobootcp or --no-boot-class-path
Do not use the boot classpath for the scala jars.

所以初步判断应该是我的classpath的问题导致scala编译不了,如果有类似报错的小伙伴希望能多多交流,也希望有知道报错原因的大佬指点一二

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页