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

文章目录

  • 0x00 文章内容
  • 0x01 编写Scala代码
          • 1. 引入Scala的SDK
          • 2. 运行结果
  • 0x02 解决两个问题
          • 1. 引入Scala插件
          • 2. 排除依赖
  • 0xFF 总结

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文件的里面添加内容:

<build>
    <plugins>
        <plugin>
            <groupId>org.scala-toolsgroupId>
            <artifactId>maven-scala-pluginartifactId>
            <version>2.15.2version>
            <executions>
                <execution>
                    <goals>
                        <goal>compilegoal>
                        <goal>testCompilegoal>
                    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,在2.6.5下面添加:

<exclusions>
    <exclusion>
        <groupId>javax.servletgroupId>
        <artifactId>*artifactId>
    exclusion>
exclusions>

b. 运行结果正确

0xFF 总结

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

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

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


你可能感兴趣的:(Java,大数据)