编程语言
首页 > 编程语言> > IDEA实现Java与Scala代码混合开发

IDEA实现Java与Scala代码混合开发

作者:互联网

文章目录

0x00 文章内容
  1. 编写Scala代码
  2. 解决两个问题

一个工程里既写Java代码,又写Scala代码,这也是企业生产上的一个常用方式,因为以前的项目里面可能已经用Java写了很多代码,现在又要用上Scala代码,就要实现Java与Scala代码的混编。
现在我在以前的教程:Java API实现HDFS的相关操作 里面加上Scala代码,具体如下。

0x01 编写Scala代码
1. 引入Scala的SDK

a. 引入Scala的SDK
b. 编写一个简单的Spark词频统计案例的代码,如教程:
IntelliJ IDEA开发Spark案例之WordCount

2. 运行结果

a. 运行结果会报错

0x02 解决两个问题
1. 引入Scala插件

a. 在pom.xml文件的</project>里面添加内容:

<build>
    <plugins>
        <plugin>
            <groupId>org.scala-tools</groupId>
            <artifactId>maven-scala-plugin</artifactId>
            <version>2.15.2</version>
            <executions>
                <execution>
                    <goals>
                        <goal>compile</goal>
                        <goal>testCompile</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

b. 运行结果继续报错
Exception in thread "main" java.lang.SecurityException: class "javax.servlet.FilterRegistration"'s signer information does not match signer information of other classes in the same package
在这里插入图片描述

2. 排除依赖

a. 排除hadoop-client的javax.servlet,在<version>2.6.5</version>下面添加:

<exclusions>
    <exclusion>
        <groupId>javax.servlet</groupId>
        <artifactId>*</artifactId>
    </exclusion>
</exclusions>

b. 运行结果正确

0xFF 总结
  1. 人懒不想重新建工程的时候,也可以用上这个教程,你就承认自己懒吧啊哈。

作者简介:邵奈一
全栈工程师、市场洞察者、专栏编辑
| 公众号 | 微信 | 微博 | CSDN | 简书 |

福利:
邵奈一的技术博客导航
邵奈一 原创不易,如转载请标明出处。


标签:Java,邵奈一,Scala,代码,IDEA,servlet,javax
来源: https://blog.51cto.com/u_12564104/2891693