java scala 混合打包_scala和java混合开发打包
如何进行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混合开发打包相关推荐
- docker集群_使用Docker,Chef和Amazon OpsWorks进行集群范围的Java / Scala应用程序部署...
docker集群 Docker非常适合在单个节点上运行隔离的容器. 但是,大多数软件系统都在多个节点上运行,因此,除了Docker之外,我们还需要某种方法来指定哪些容器应在哪些节点上运行. 我要解决的 ...
- 使用Docker,Chef和Amazon OpsWorks进行集群范围的Java / Scala应用程序部署
Docker非常适合在单个节点上运行隔离的容器. 但是,大多数软件系统都在多个节点上运行,因此,除了Docker之外,我们还需要某种方法来指定哪些容器应在哪些节点上运行. 我要解决的特定问题如下:我有 ...
- scala面试问题_Scala高级面试问答
scala面试问题 Before reading this post, please go through my previous two posts at "Scala Basic&quo ...
- Java Scala 混合编程导致 编译失败 ,【找不到符号】问题解决
大致就是 工程里分了 java 代码 和 scala 代码. 然后在java代码中 引用了 scala 的代码. 运行不报错. 但是打包就是一直报错. [ERROR] Failed to execut ...
- java 四则混合运算_Java实现四则混合运算代码示例
使用栈来实现,可以处理运算优先级. 使用自然四则运算表达式即可,如:4+(3*(3-1)+2)/2.无需把表达式先转换为逆波兰等形式. package com.joshua.cal; import j ...
- java四则混合运算_Java实现四则混合运算代码示例
使用栈来实现,可以处理运算优先级. 使用自然四则运算表达式即可,如:4+(3*(3-1)+2)/2.无需把表达式先转换为逆波兰等形式. package com.joshua.cal; import j ...
- scala语言的底层是java实现的_Scala学习笔记一(与Java、Jvm的关系以及程序执行流程分析)...
一.Scala语言与Java.Jvm的关系分析 Scala语言是马丁奥德斯基接触Java语言后,针对Java语言的特点,将函数式编程语言的特点融合到Java中,由此发明的.Scala语言和Java语言 ...
- java object强制类型转换_scala object 转Class Scala强制类型转换
asInstanceOf[T] 将对象类型强制转换为T类型. 还是由于泛型存在类型擦除的原因,1.asInstanceOf[String]在运行时会抛出ClassCastException异常,而Li ...
- eclipse java混淆打包_Android Studio和eclipse混淆打包总结
考虑到以前的项目没有做过混淆,只是用了加固软件进行加固,为了安全性,准备给项目加上,这里做个总结,都经本人亲自在项目实践,说是为了安全性,这好像说大了,一来项目中没用到什么特别的技术,二是大神真要弄你 ...
最新文章
- 输出 1-100 内的所有奇数
- 论文阅读课4-Long-tail Relation Extraction via Knowledge Graph Embeddings(GCN,关系抽取,2019,远程监督,少样本不平衡,2注意
- 入门机器学习(七)--神经网络
- oracle在哪里输入,Oracle数据库输出输入
- Spring @Autowired 调用别的包下的Bean 解决方法
- Python全栈开发之Django基础
- JDK/JRE/JVM之间的关系
- 安卓脚本用什么写_python脚本控制安卓手机,可以用来做什么你知道吗?
- py2topy3+cmd 命令
- PHP定义常量define和const的区别
- 如何从商业模式画布中看到自己的优势?
- Azure 安全网络篇 - DMZ 区域设计实践
- 杭州天目山路招PHP,杭州地铁3号线汽车西站站开始主体施工 天目山路部分路面要开挖了...
- 强制卸载阿里云盾(安骑士)监控屏蔽云盾IP检测教程
- 手机qq如何绑定qq邮箱服务器,如何配置和绑定QQ个人邮箱
- 中国家庭收入调查(CHIP)数据88-13年
- 如何用c语言添加背景图片,如何实现在单文档的窗口背景上贴上图片?
- 店铺管理系统项目总结
- 训练模型中常见错误解决方案
- [mt6582]电池及充电参数配置
热门文章
- 机器学习和深度学习资料整理
- 装饰器前奏2(2017年8月23日 11:50:39)(2017年8月29日 16:07:32)
- CodeSmith和PowerDesigner的使用安装和数据库创建(原创系列教程)
- var和dynamic的区别及如何正确使用dynamic ?
- C#软件winform程序安装包制作及卸载程序制作
- 我设计的简单事务控制
- 软件测试作业8:分析自动售货机软件例子生成的判定表图例
- 用Unity3D实现智能巡逻兵游戏
- [Python图像处理] 五.图像融合、加法运算及图像类型转换
- Python之深入解析一行代码计算每个省面积的神器Geopandas