问题描述
在java中调用scala类能正常调用,但是在使用maven打包的时候报错,报错如下:
[ERROR] /C:/Users/renre/IdeaProjects/MavenTest/src/main/java/aldwxconfig/Test.java:[3,13] 程序包utils不存在
[ERROR] /C:/Users/renre/IdeaProjects/MavenTest/src/main/java/aldwxconfig/Test.java:[10,28] 找不到符号
符号: 变量 ConfigUtils
位置: 类 aldwxconfig.Test
在java中调用如下:
public class Test {
public static void main(String[] args){
System.out.println(ConfigUtils.getProperty("spark.host"));
}
}
报错原因
java和scala是两种不同的语言,所以需要不同的语言编译器,在maven打包时,对java和scala编译是有先后顺序的,默认是先编译java后编译scala,所以当编译java代码时,java中调用的scala代码是找不到的。
解决方法:在pom文件中设置先后顺序即可
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>3.2.2</version>
<