Java 使用多战';s来解析多个scala版本
我通常使用scalaJava 使用多战';s来解析多个scala版本,java,scala,maven,tomcat,apache-kafka,Java,Scala,Maven,Tomcat,Apache Kafka,我通常使用scala2.10.x。 由于我无法控制的组件的某些限制,我不得不使用kafka客户端版本,但是此版本的kakfa只能用scala 2.9.2版编译,不能用scala 2.10版编译。 注意:我不能使用卡夫卡的较新版本,它不起作用,我无法控制实际的kafka版本,因此我必须使用此客户端版本因此我必须使用卡夫卡客户端0.7.2 所以我有多种选择: 下载0.7.2kafka客户端的源代码,并使用scala2.10进行编译。不幸的是,源代码中的更改太多,无法执行 使用jarajar并更新sc
2.10.x
。
由于我无法控制的组件的某些限制,我不得不使用kafka
客户端版本,但是此版本的kakfa
只能用scala 2.9.2版编译,不能用scala 2.10版编译。
注意:我不能使用卡夫卡的较新版本,它不起作用,我无法控制实际的kafka
版本,因此我必须使用此客户端版本因此我必须使用卡夫卡客户端0.7.2
所以我有多种选择:
0.7.2
kafka客户端的源代码,并使用scala2.10
进行编译。不幸的是,源代码中的更改太多,无法执行jarajar
并更新scala library.jar
在打包时使用前缀,例如scala.*->scala.29.*
,然后更新kafka client 0.7.2以从scala.29.*
导入类。我尝试过这个方法,在这里也遇到了问题.war
,因为tomcat将使用不同的类加载器加载不同的war,我可以发送我的卡夫卡请求,而不是从我原来的war
发送到我的war1
发送到war2
,而war2
将是一个简单的web应用程序,它将保存一个简单的kafka客户端0.7.2
我的问题:选项3听起来明智吗?我对它的开销有一些想法,如果我向
localhost
发送GET
请求,仅仅因为我有多个war
来解决拥有多个类加载器的问题,这有多好/坏?最终用scala 2.10编译kafka客户端0.7.2,这并不难,一切都正常