ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2021-06-10 18:06:50  阅读:211  来源: 互联网

标签:Java 邵奈一 Scala 代码 IDEA servlet javax


文章目录

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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有