Spark学习笔记:记第一个Scala 打jar包,遇到的各种问题。

这篇博客记录了作者在使用Spark学习过程中,尝试用Scala编写Demo并使用Maven打包遇到的问题。问题一涉及Maven配置sourceDirectory,未指定时默认查找src/main/java,需在pom.xml中明确指定源代码路径。问题二介绍了需在build标签下添加scala打包插件以正确处理Scala代码。通过分享这些问题的解决方案,希望能帮助遇到类似困扰的读者。
摘要由CSDN通过智能技术生成

跟着spark的官方文档学习简单的语法,敲了一个小demo,尝试打包放到集群上运行。因为自己的无知遇到各种问题。
问题一:Maven package 之后发现target目录下的classes目录下没有生成相应的类。
存在的原因之一:pom.xml 没有配置source的路径。
在这里插入图片描述
如果没有配置,默认回去找src/main/java的,加上这么一行指定sourceDirectory的位置,这样maven在打包的时候才知道到哪里去找你要打包的代码。
为什么默认会找到src/main/java呢。这是因为如果你没有指定的属性,maven回去superpom里面找,你没有配,那我就用superpom里面的默认值。
什么是superpom呢。可以理解为根pom,pom也是有继承性的,所有的pom都继承自superpom,里面规定了很多的默认属性。
maven 官方是这么说的:
Similar to the inheritance of objects in object oriented programming, POMs that extend a parent POM inherit certain values from that parent. Moreover, just as Java objects ultimately inherit from java.lang.Object, all Project Object Models inherit from a base Super POM.
贴一个放在这里:

<project>
  <modelVersion>4.0.0</modelVersion>
 
  <repositories>
    <repository>
      <id>central</id>
      <name>Central Repository</name>
      <url>https://repo.maven.apache.org/maven2</url>
      <layout>default</layout>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>
 
  <pluginRepositories>
    <pluginRepository>
      <id>central</id>
      <name>Central Repository</name>
      <url>https://repo.maven.apache.org/maven2</url>
      <layout>default</layout>
      <snapshots>
        <enabled>false</enabled>
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值