假设我有一个Java,如下所示:
public class JavaApi<T> {
public void foo(T[] data) {
...
}
}
我想用以下类从Scala调用它:
class Caller[T] {
val javaApi = new JavaApi[T]()
def callApi(data: Array[T]) = javaApi.foo(data)
}
在编译时,我得到以下内容:
type mismatch;
found : Array[T]
required: Array[T with Obj
Case
试图构建一些需要Kafka库的代码,并将其部署到HDP平台上。构建成功,但在运行时抱怨无法找到类。在HDP平台上查找Kafka版本会发现类似于0.10.0.2.5.3.16-1的东西,快速查看mvn就会发现这个版本不存在这样的Kafka库。最近的版本是我正在使用的0.10.0.2.5.3.42-1。
症状
运行时错误,这些错误说明无法找到类或方法,例如kafka.javaapi.consumer.SimpleConsumer.<init>(Ljava/lang/String;IIILjava/lang/String;Ljava/lang/String;)V
控制台错误
Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/boot/SpringApplication
at com.ayush.JavaApi.main(JavaApi.java:10)
Caused by: java.lang.ClassNotFoundException: org.springframework.boot.SpringApplication
at java.net.URLClassLoader.f
我想使用Scala中的以下API调用Java方法:
// Java API
public interface JavaAPI {
JustSomeAPISpecificType clone();
}
// Scala code in class a.b.c.D
val api: JavaAPI = factory.getAPI
val result: JustSomeAPISpecificType = api.clone
但是,这是行不通的,因为Scala编译器(2.10)认为我想调用Object.clone:
错误:在OptionJavaAPI中无法访问类对象中的方法克隆,不能访问受
与堆栈溢出问题相关,如何将Java集合(java.util.List say)转换为Scala集合List
实际上,我正在尝试将对 SimpleJdbcTemplate的Java API调用转换为Scala不可变的HashSet,后者返回一个java.util.List<T>。举个例子:
val l: java.util.List[String] = javaApi.query( ... )
val s: HashSet[String] = //make a set from l
这似乎是可行的。欢迎批评!
import scala.collection.immutable.Se
public void run() {
// find the meta data about the topic and partition we are interested in
PartitionMetadata metadata = findLeader(a_seedBrokers, a_port, a_topic, a_partition);
if (metadata == null) {
System.out.println("Can't find metadata for Topic and Partition. Exit
我已经编写了自己的序列化程序来将java对象发布到主题。我将serializer.class属性设置为自定义序列化程序。在运行生产者时,我会得到以下异常。有人能帮我吗?
异常
Exception in thread "main" java.lang.NoSuchMethodException: com.xxxx.CustomFileSerializer.<init>(kafka.utils.VerifiableProperties)
at java.lang.Class.getConstructor0(Class.java:3082)
at java
我也想从Apple Watch打个电话。我进口了WatchKit。然后,我将这段代码放入我的方法中:
if let telURL=NSURL(string:"tel:5553478") {
let wkExtension=WKExtension.sharedExtension()
wkExtension.openSystemURL(telURL)
}
它显示了一个错误:在第2行中使用未解析的标识符'WKExtension‘。
我正在尝试使用Mac10.5.8和Python2.6在/Developer/Examples/ Quartz /Python中运行一些Quartz演示。但是,我收到了CoreGraphics找不到的错误。
Traceback (most recent call last):
File "circle.py", line 38, in <module>
from CoreGraphics import *
ImportError: No module named CoreGraphics
看看苹果的文档,这不是应该放进去的吗?