使用多个war来解析多个scala版本

时间:2014-05-03 07:17:09

标签: java scala maven tomcat apache-kafka

我通常使用scala 2.10.x。 由于我无法控制的组件的某些限制,我必须使用kafka客户端版本0.7.2但是此版本的kakfa只能使用scala ver 2.9.2编译并且不适用于scala 2.10。 注意:我无法使用较新版本的kafka,它无法正常工作,我无法控制实际的kafka版本,因此我必须使用此客户端版本。 所以我必须使用kafka客户端0.7.2

所以我有多种选择:

  1. 下载0.7.2 kafka客户端的来源并使用scala 2.10进行编译,遗憾的是,要执行的源代码有太多变化。
  2. 使用jarajar并更新scala-library.jar以打包scala.* -> scala.29.*之类的内容,然后更新kafka客户端0.7.2以从scala.29.*导入类我尝试了这里也有问题。
  3. 这就是我现在要做的 - 在我的tomcat web服务器中创建另一个.war,因为tomcat会加载不同的类加载器的不同战争,我可以发送我的kafka请求而不是我原来的从warwar1war2的{​​{1}}将成为一个简单的网络应用,其中包含一个简单的war2
  4. 我的问题:选项3听起来很明智吗?如果我向kafka client 0.7.2发送GET请求只是因为我有多个localhost来解决多个类加载器问题的问题,我对它的开销有一些想法吗?

1 个答案:

答案 0 :(得分:1)

最终使用scala 2.10编译kafka客户端0.7.2,并不难,一切正常。