如何进行scala和java混合开发打包?

首先创建maven工程,在pom.xml添加一下依赖

1.8

UTF-8

3.8.1

1.6.4

3.1

2.11.8

2.3.2

org.scala-lang

scala-library

${scala.version}

org.slf4j

slf4j-api

${slf4j-api.version}

org.slf4j

slf4j-log4j12

1.7.25

org.apache.maven.plugins

maven-compiler-plugin

3.6.1

1.7

1.7

net.alchim31.maven

scala-maven-plugin

3.2.2

org.apache.maven.plugins

maven-jar-plugin

3.0.2

true

lib/

spark.example.Main

org.apache.maven.plugins

maven-dependency-plugin

3.0.0

package

copy-dependencies

${project.build.directory}/lib

其中mainClass是最后打包的jar包的主函数,通常是包含main方法的scala类,你也可以不指定。

打包命令用mvn clean scala:compile package

打包之后在jar同目录下会有./lib子目录,包含scala-library-2.11.8.jar等依赖包都会在该目录。

如果依赖包在其他目录,也可以用命令:、

java -Djava.ext.dirs=c:\libs -jar my-snapshot.jar

来执行。其中-Djava.ext.dirs=c:\libs指定了依赖包路径为c:\libs,你可以换成自己的目录。

(1)读本地文件示例

var file = "C:\\github\\data\\sparkdata.txt"

val fileSrc = scala.io.Source.fromFile(file)

fileSrc.getLines().foreach(println)

(2)Spark示例

/**

* 打印文件内容

*/

val conf = new SparkConf().setAppName("Spark example").setMaster("local");

val sc = new SparkContext(conf);

var file = "file:///C:\\github\\data\\sparkdata.txt"

var fileRdd = sc.textFile(file, 1)

println("#len:", fileRdd.count())

控制日志级别

spark程序跑起来一堆日志,看的心烦,这里介绍简单的控制日志输出的方法

hadoop.root.logger=ERROR, console

log4j.rootLogger = ERROR, console

log4j.appender.console=org.apache.log4j.ConsoleAppender

log4j.appender.console.target=System.out

log4j.appender.console.layout=org.apache.log4j.PatternLayout

log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{2}: %m%n

# apache

log4j.logger.org.apache.hadoop.util.Shell= off

其中log4j.logger.org.apache.hadoop.util.Shell= off是控制org.apache.hadoop.util.Shell类的日志不打印,windows下hadoop用到winutils.exe文件,找不到就会报错,但不影响跑程序,干脆关掉它的日志。

java scala 混合打包_scala和java混合开发打包相关推荐

  1. docker集群_使用Docker,Chef和Amazon OpsWorks进行集群范围的Java / Scala应用程序部署...

    docker集群 Docker非常适合在单个节点上运行隔离的容器. 但是,大多数软件系统都在多个节点上运行,因此,除了Docker之外,我们还需要某种方法来指定哪些容器应在哪些节点上运行. 我要解决的 ...

  2. 使用Docker,Chef和Amazon OpsWorks进行集群范围的Java / Scala应用程序部署

    Docker非常适合在单个节点上运行隔离的容器. 但是,大多数软件系统都在多个节点上运行,因此,除了Docker之外,我们还需要某种方法来指定哪些容器应在哪些节点上运行. 我要解决的特定问题如下:我有 ...

  3. scala面试问题_Scala高级面试问答

    scala面试问题 Before reading this post, please go through my previous two posts at "Scala Basic&quo ...

  4. Java Scala 混合编程导致 编译失败 ,【找不到符号】问题解决

    大致就是 工程里分了 java 代码 和 scala 代码. 然后在java代码中 引用了 scala 的代码. 运行不报错. 但是打包就是一直报错. [ERROR] Failed to execut ...

  5. java 四则混合运算_Java实现四则混合运算代码示例

    使用栈来实现,可以处理运算优先级. 使用自然四则运算表达式即可,如:4+(3*(3-1)+2)/2.无需把表达式先转换为逆波兰等形式. package com.joshua.cal; import j ...

  6. java四则混合运算_Java实现四则混合运算代码示例

    使用栈来实现,可以处理运算优先级. 使用自然四则运算表达式即可,如:4+(3*(3-1)+2)/2.无需把表达式先转换为逆波兰等形式. package com.joshua.cal; import j ...

  7. scala语言的底层是java实现的_Scala学习笔记一(与Java、Jvm的关系以及程序执行流程分析)...

    一.Scala语言与Java.Jvm的关系分析 Scala语言是马丁奥德斯基接触Java语言后,针对Java语言的特点,将函数式编程语言的特点融合到Java中,由此发明的.Scala语言和Java语言 ...

  8. java object强制类型转换_scala object 转Class Scala强制类型转换

    asInstanceOf[T] 将对象类型强制转换为T类型. 还是由于泛型存在类型擦除的原因,1.asInstanceOf[String]在运行时会抛出ClassCastException异常,而Li ...

  9. eclipse java混淆打包_Android Studio和eclipse混淆打包总结

    考虑到以前的项目没有做过混淆,只是用了加固软件进行加固,为了安全性,准备给项目加上,这里做个总结,都经本人亲自在项目实践,说是为了安全性,这好像说大了,一来项目中没用到什么特别的技术,二是大神真要弄你 ...

最新文章

  1. 输出 1-100 内的所有奇数
  2. 论文阅读课4-Long-tail Relation Extraction via Knowledge Graph Embeddings(GCN,关系抽取,2019,远程监督,少样本不平衡,2注意
  3. 入门机器学习(七)--神经网络
  4. oracle在哪里输入,Oracle数据库输出输入
  5. Spring @Autowired 调用别的包下的Bean 解决方法
  6. Python全栈开发之Django基础
  7. JDK/JRE/JVM之间的关系
  8. 安卓脚本用什么写_python脚本控制安卓手机,可以用来做什么你知道吗?
  9. py2topy3+cmd 命令
  10. PHP定义常量define和const的区别
  11. 如何从商业模式画布中看到自己的优势?
  12. Azure 安全网络篇 - DMZ 区域设计实践
  13. 杭州天目山路招PHP,杭州地铁3号线汽车西站站开始主体施工 天目山路部分路面要开挖了...
  14. 强制卸载阿里云盾(安骑士)监控屏蔽云盾IP检测教程
  15. 手机qq如何绑定qq邮箱服务器,如何配置和绑定QQ个人邮箱
  16. 中国家庭收入调查(CHIP)数据88-13年
  17. 如何用c语言添加背景图片,如何实现在单文档的窗口背景上贴上图片?
  18. 店铺管理系统项目总结
  19. 训练模型中常见错误解决方案
  20. [mt6582]电池及充电参数配置

热门文章

  1. 机器学习和深度学习资料整理
  2. 装饰器前奏2(2017年8月23日 11:50:39)(2017年8月29日 16:07:32)
  3. CodeSmith和PowerDesigner的使用安装和数据库创建(原创系列教程)
  4. var和dynamic的区别及如何正确使用dynamic ?
  5. C#软件winform程序安装包制作及卸载程序制作
  6. 我设计的简单事务控制
  7. 软件测试作业8:分析自动售货机软件例子生成的判定表图例
  8. 用Unity3D实现智能巡逻兵游戏
  9. [Python图像处理] 五.图像融合、加法运算及图像类型转换
  10. Python之深入解析一行代码计算每个省面积的神器Geopandas