相关疑难解决方法(0)

sbt-pack和sbt-assembly之间的主要区别是什么?

我刚刚偶然发现了sbt-pack插件.开发流似乎很稳定.令我惊讶的是,我认为(引用sbt-pack的标题)"创建可分发的Scala包"的唯一插件.sbt-assembly(在其他功能中).

插件之间的主要区别是什么?我什么时候应该使用另一个?

sbt sbt-assembly

35
推荐指数
2
解决办法
1万
查看次数

如何在不遇到SecurityException的情况下从Scala脚本引用java.sql?

从Java 9开始,直接从scala脚本使用时,从Scala中调用java.sql中定义的对象会抛出java.lang.SecurityException.

Java Version: 10.0.1
Scala Version: 2.12.4
sbt Version: 1.2.0
Run Code Online (Sandbox Code Playgroud)

下面的屏幕截图是一个完整的最小工作示例,其中包含适用于工作和非工作版本的控制台输出.具体来说:将脚本代码复制到类中,并从该类运行它,可以解决问题.有没有办法编写直接使用对象的Scala脚本java.sql

build.sbt

name := "mypackage"
version := "0.1"
scalaVersion := "2.12.4"

libraryDependencies += "org.postgresql" % "postgresql" % "42.2.4"
Run Code Online (Sandbox Code Playgroud)

broken-script.scala

import java.sql.{Connection, DriverManager}
import java.util.Properties

object Main {

  private def url = "jdbc:postgresql://localhost:5432/postgres"

  val credentials: Properties ={
    val properties = new Properties()
    properties.setProperty("user", "integration_test")
    properties.setProperty("password", "integration-pass")

    properties
  }

  def connect(): Connection =
    DriverManager.getConnection(url, credentials)


  def run(): Unit = {
    connect()
  }

}

Main.run()
Run Code Online (Sandbox Code Playgroud)

如下面的控制台输出所示,broken-script.scala遇到SecurityException.

brokenScript.scala Output …

java scala jdbc sbt java-9

5
推荐指数
1
解决办法
196
查看次数

使用 sbt run 或使用 spark-submit 脚本运行 spark 应用程序的区别

我是 Spark 的新手,在学习这个框架时,我发现,据我所知,用 Scala 编写的 Spark 应用程序有两种运行方式:

  1. 将项目打包成 JAR 文件,然后使用 spark-submit 脚本运行它。
  2. 使用 sbt run 直接运行项目。

我想知道这两种执行模式之间的区别可能是什么,尤其是当使用 sbt run 运行时,当它与 spark-submit 完美运行时,可能会抛出 java.lang.InterruptedException。

谢谢!

scala sbt apache-spark spark-submit

1
推荐指数
1
解决办法
1039
查看次数

标签 统计

sbt ×3

scala ×2

apache-spark ×1

java ×1

java-9 ×1

jdbc ×1

sbt-assembly ×1

spark-submit ×1