假设我有一个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
控制台错误
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
有一种方法可以代替web.xml
public class Dispatcher implements WebApplicationInitializer{
@Override
public void onStartup(ServletContext servletContext) throws ServletException{
AnnotationConfigWebApplicationContext appContext = new AnnotationConfigWebApplicationContext();
appContext.r