Tag: scala

dpkg:error handling包oracle-java8-installer( – configure):

我想在Ubuntu 16.04上安装sbt 。 我在运行以下命令时错误地停止了该过程, sudo apt-get install sbt 现在,当我再次尝试安装时,我收到以下错误, Downloading Oracle Java 8… –2017-04-24 17:34:33– http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz Resolving download.oracle.com (download.oracle.com)… 104.80.89.58, 104.80.89.16 Connecting to download.oracle.com (download.oracle.com)|104.80.89.58|:80… connected. HTTP request sent, awaiting response… 302 Moved Temporarily Location: https://edelivery.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz [following] –2017-04-24 17:34:35– https://edelivery.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz Resolving edelivery.oracle.com (edelivery.oracle.com)… 23.200.209.153, 2600:1409:a:183::2d3e, 2600:1409:a:193::2d3e Connecting to edelivery.oracle.com (edelivery.oracle.com)|23.200.209.153|:443… connected. HTTP request sent, awaiting […]

scala和java枚举之间的差异

我在SO上读到了一个答案,其中有人说scala枚举是无用的 ,如果你真的需要,你应该只使用java枚举。 虽然我之前使用过java枚举,但我不能说我完全理解它们,因为我在日常工作中不用java编码。 有人可以解释scala和java枚举之间的区别,以及scala枚举中的缺点究竟在哪里?

Java / Scala Future由回调驱动

精简版: 如何创建在回调触发器上完成的Promise ? 长版: 我正在开发一个处理第三方SOAP服务的应用程序。 用户的请求同时委托多个SOAP服务,聚合结果并发送回用户。 系统需要是可扩展的,并且应该允许多个并发用户。 当每个用户请求最终触发大约10个Web服务调用并且每个呼叫阻塞大约1秒时,系统需要设计为具有非阻塞I / O. 我在Play Framework(Java)中使用Apache CXF用于此系统。 我已设法生成异步WS客户端代理并启用异步传输。 我无法弄清楚当我委托多个Web服务代理时如何将Future转换为Play的线程,结果将作为回调获得。 选项1:使用返回Java Future的异步方法调用。 正如java.util.concurrent.Future线程的scala.concurrent.Future包装器中所描述的那样,我们无法将Java Future转换为Scala Future。 从Future获得结果的唯一方法是执行阻止调用者的Future.get() 。 由于CXF生成的代理返回Java Future,因此排除了此选项。 选项2:使用Scala Future。 由于CXF生成代理接口,我不确定是否有任何方式可以干预并返回Scala Future(AFAIK Akka使用Scala Futures)而不是Java Future? 选项3:使用回调方法。 由CXF生成的返回Java Future的异步方法也需要一个回调对象,我想这将在结果准备好时提供回调。 要使用这种方法,我需要返回一个等待我收到回调的Future。 我认为选项3最有希望,虽然我对如何返回一个将在收到回调时完成的Promise没有任何想法。 我可能有一个线程等待一段while(true)并等待,直到结果可用。 再一次,我不知道如何在不阻塞线程的情况下进入wait ? 简而言之,我正在尝试构建一个系统,该系统正在进行大量的SOAP Web服务调用,其中每个调用都会占用大量时间。 在大量并发Web服务调用的情况下,系统可能很容易耗尽线程。 我正在寻找一种基于非阻塞I / O的解决方案,它可以同时允许许多正在进行的Web服务调用。

如何在jvm上运行scala字节码?

如何在jvm上运行已编译的scala代码? 当我尝试以下命令时: java -cp scala-library.jar -cp bin com.mcmc5.Main 我收到以下错误: Exception in thread “main” java.lang.NoSuchMethodError: main 在scala代码中,我有一个名为Main的对象,它具有在那里定义的main函数。 它可以工作,如果我做scala -cp bin com.mcmc5.Main ,它工作正常。 有什么东西我不见了吗? 谢谢你,thejinx0r Edit1:这是我的代码:我希望它在JVM上运行的原因是因为我想要实际执行字节码的服务器没有安装scala。 这是我的主要基本上(它有一些在它之前定义的值和变量,但基本上: package com.mcmc5 import java.text.{DateFormat, NumberFormat, DecimalFormat, SimpleDateFormat} import java.util.{Date} object Main { def main( args: Array[String]) = { println(numberOfOutputStructures) var structureSolver = new MC(20); structureSolver.start() } } 但我仍然尝试使用java -cp scala-library.jar:bin […]

从Java访问元组的奇怪行为

我正在寻找有关我在Java中访问Scala中创建的元组时发现的非常奇怪的行为的解释和/或版本控制细节(如果可能)。 我将用一个简单的测试来展示奇怪的行为。 我创建了这个Scala类: class Foo { def intsNullTuple = (null.asInstanceOf[Int], 2) def intAndStringNullTuple = (null.asInstanceOf[Int], “2”) } 然后我运行这个Java程序: Tuple2 t = (new Foo()).intsNullTuple(); t._1(); // returns 0 ! t._1; // return null Tuple2 t2 = (new Foo()).intAndStringNullTuple(); t._1(); // returns null t._1; // return null 有没有人对此的原因有任何解释? 而且,在我的测试中,我使用的是Java 1.8和Scala 2.11.8。 任何人都可以提供任何关于使用Java代码中的_1与旧版Scala 2.11和2.10版本以及Java 1.7的兼容性的建议吗? 我读到_1无法从Java访问,但我可以在我的测试中访问它。 因此,我正在寻找支持它的版本。 谢谢。

为什么静态成员使语言不那么面向对象?

我正在学习Scala,我在Odersky的Programming Scala第二版中遇到了这个声明: Scala比Java更面向对象的一种方式是Scala中的类不能有静态成员。 我对Java或Scala没有足够的经验来理解这种比较。 为什么静态成员使语言少于OO?

clojure / scala interop?

我试图插入这个简单的scala代码,但我遇到了一些麻烦。 package indicators class DoubleRingBuffer(val capacity:Int=1000) { var elements = new Array[Double](capacity); private var head=capacity-1 private var max=0 def size ():Int = { return max+1 } def add(obj:Double):Double = { head-=1 if (head=capacity || i=max) max=i var index = (head+i)%capacity var prev = elements(index) elements(index)=obj return prev } def get(i:Int=0):Double = { System.out.println(“size is “+size()) […]

无法使用getDeclaredFields()来检索Scala类的字段

我正在尝试使用Scala的Java库(JOhm)并注意到当lib尝试使用类似于model.getClass().getDeclaredFields()东西读取我的Scala类的字段时,它会失败。 然后我决定尝试使用Scala解释器中的简单示例: scala> import java.lang.reflect.Field; import java.lang.reflect.Field scala> class myClass(attribute1: String, attribute2: String, attribute3: String) defined class myClass scala> val myInstance = new myClass(“value1”, “value2”, “value3”) myInstance: myClass = myClass@7055c39a scala> myInstance.getClass().getDeclaredFields() res0: Array[java.lang.reflect.Field] = Array() 实际上,我们根本没有任何领域。 现在,如果我尝试这样做: scala> class myClass2(attribute1: String, attribute2: String, attribute3: String) { override def toString = this.attribute1 } defined class […]

用于编译GUI表单的Ant任务(Intellij IDEA)

如何在Intellij IDEA中创建Ant任务来编译GUI表单(XML)? 我在我的项目中使用Scala和Java。 Java仅用于GUI类,我使用Intellij IDEA UI Designer创建它。

Spark的Column.isin函数不带List

我正在尝试从Spark Dataframe中过滤出行。 val sequence = Seq(1,2,3,4,5) df.filter(df(“column”).isin(sequence)) 不幸的是,我得到了一个不受支持的文字类型错误 java.lang.RuntimeException: Unsupported literal type class scala.collection.immutable.$colon$colon List(1,2,3,4,5) 根据文档,它采用scala.collection.Seq列表 我想我不想要文字? 然后我可以接受什么样的包装类呢?