• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >云计算 > sbt pom reader,sbtpom

sbt pom reader,sbtpom

作者:网友 字体:[增加 减小] 来源:互联网

本文主要包含sbt gdteacher net,sbt,sbt超级教师,aj65sbt 64ad,cmt sbt40d等服务器相关知识,网友希望可以进行参考

sbt pom reader,sbtpom


sbt pom reader - sbt读取pom

Spark为了依赖项的统一管理用了sbt pom reader这个插件,sbt编译发布也是从pom里读GAV了。 我记得老版本sbt的依赖项是写在project/SparkBuild.scala里的。这个工具在java/scala项目内很有使用场景。

地址在:https://github.com/sbt/sbt-pom-reader

1.配置插件

在/app/hadoop/shengli/spark1.3/project/project/SparkPluginBuild.scala

import sbt._
import sbt.Keys._

/**
 * This plugin project is there to define new scala style rules for spark. This is
 * a plugin project so that this gets compiled first and is put on the classpath and
 * becomes available for scalastyle sbt plugin.
 */
object SparkPluginDef extends Build {
  lazy val root = Project("plugins", file(".")) dependsOn(sparkStyle, sbtPomReader)
  lazy val sparkStyle = Project("spark-style", file("spark-style"), settings = styleSettings)
  lazy val sbtPomReader = uri("https://github.com/ScrapCodes/sbt-pom-reader.git#ignore_artifact_id")

  // There is actually no need to publish this artifact.
  def styleSettings = Defaults.defaultSettings ++ Seq (
    name                 :=  "spark-style",
    organization         :=  "org.apache.spark",
    scalaVersion         :=  "2.10.4",
    scalacOptions        :=  Seq("-unchecked", "-deprecation"),
    libraryDependencies  ++= Dependencies.scalaStyle
  )

  object Dependencies {
    val scalaStyle = Seq("org.scalastyle" %% "scalastyle" % "0.4.0")
  }
}

2.自定义类继承PomBuild,配置project

使用ProjectRef
格式:

// This is a heuristic, assuming we're running sbt in the same directory as the build.
val buildLocation = (file(".").getAbsoluteFile.getParentFile)

// Here we define a reference to a subproject.  The string "subproject" refers to the artifact id of
// the subproject.
val subproject = ProjectRef(buildLoc, "subproject")

// Disable all scalac arguemnts when running the REPL.
scalacOptions in subproject in Compile in console := Seq.empty

在Spark中的使用

在SparkBuild.scala内

...
import sbt._
import com.typesafe.sbt.pom.{loadEffectivePom, PomBuild, SbtPomKeys}
...
private val buildLocation = file(".").getAbsoluteFile.getParentFile

  val allProjects@Seq(bagel, catalyst, core, graphx, hive, hiveThriftServer, mllib, repl,
    sql, networkCommon, networkShuffle, streaming, streamingFlumeSink, streamingFlume, streamingKafka,
    streamingMqtt, streamingTwitter, streamingZeromq) =
    Seq("bagel", "catalyst", "core", "graphx", "hive", "hive-thriftserver", "mllib", "repl",
      "sql", "network-common", "network-shuffle", "streaming", "streaming-flume-sink",
      "streaming-flume", "streaming-kafka", "streaming-mqtt", "streaming-twitter",
      "streaming-zeromq").map(ProjectRef(buildLocation, _))

  val optionallyEnabledProjects@Seq(yarn, yarnStable, java8Tests, sparkGangliaLgpl,
    sparkKinesisAsl) = Seq("yarn", "yarn-stable", "java8-tests", "ganglia-lgpl",
    "kinesis-asl").map(ProjectRef(buildLocation, _))

  val assemblyProjects@Seq(assembly, examples, networkYarn, streamingKafkaAssembly) =
    Seq("assembly", "examples", "network-yarn", "streaming-kafka-assembly")
      .map(ProjectRef(buildLocation, _))

...
object SparkBuild extends PomBuild {
...

原创文章,转载请注明出自:http://blog.csdn.net/oopsoom/article/details/45148381

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • sbt pom reader,sbtpom

相关文章

  • Hive 和普通关系数据库的异同,hive关系数据库
  • Spark学习笔记之浅释,spark学习笔记
  • 几本京东上的CISCO云计算相关书籍,cisco相关书籍
  • Hadoop之——HBase笔记(补充),hadoophbase
  • @PathVariable和@RequestParam的区别,@pathvariable
  • 《5》CentOS7.0+OpenStack+kvm云平台部署—配置Horizon,《5》kvm
  • Hadoop之——HDFS随笔,hadoophdfs
  • 说说hadoop,hadoop
  • 一步一步跟我学习hadoop(3)----hadoop命令手册,hadoop----hadoop
  • Hadoop之——Linux基本命令回顾,hadooplinux回顾

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • [Hive]MapReduce将数据写入Hive分区表,mapreducehive
    • 什么是Code Review,CodeReview
    • error: internal error: unable to execute QEMU command 'migrate': this feature or command is not cur,qemumigrate
    • Linux系统只能连上内网不能够连上外网。Unit network.service entered failed state.,外网访问内网服务器
    • 通过iscsi协议使用ceph rbd,iscsi协议cephrbd
    • Slope One 协同过滤 推荐算法,slopeone
    • [Spark源码剖析] DAGScheduler划分stage,sparkdagscheduler
    • 从Hadoop URL中读取数据,hadoopurl读取数据
    • hadoop distcp 实现不同集群之间数据同步,hadoopdistcp
    • MapReduce中Shuffle过程整理,mapreduceshuffle

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有