Scala 在OSGi中创建Akka项目

Scala 在OSGi中创建Akka项目,scala,osgi,akka,Scala,Osgi,Akka,我希望在OSGi容器中运行一个Akka项目(apache-servicemix-4.4.1-fuse-06-03),但在安装依赖库时遇到了一些问题。我已经安装了akka actor和config,如下所示: osgi:install-svn:com.typesafe.akka/akka-actor/2.1-SNAPSHOT osgi:install-s mvn:com.typesafe/config/0.4.1 但我无法安装scala库(v2.9.2必需)。我曾尝试使用maven bundl

我希望在OSGi容器中运行一个Akka项目(
apache-servicemix-4.4.1-fuse-06-03
),但在安装依赖库时遇到了一些问题。我已经安装了
akka actor
config
,如下所示:

  • osgi:install-svn:com.typesafe.akka/akka-actor/2.1-SNAPSHOT
  • osgi:install-s mvn:com.typesafe/config/0.4.1
但我无法安装scala库(v2.9.2必需)。我曾尝试使用
maven bundle插件创建自己的bundle,但没有效果,搜索了很久


任何帮助都将不胜感激。

如果您正在寻找快速解决方案,请使用Scala IDE/Eclipse for Scala 2.9.2的捆绑包。我为我的Akka 2.1/Karaf POC做了这些,效果很好。如果您没有,请从下载。

这是在scala用户组发布后上传的:

由@ben1729引用的已构建二进制文件现在可在我们的Bippo/Soluvas Nexus存储库公共存储库中获得:

请随时浏览我们的存储库,网址为

用法:

<repository>
    <id>bippo-nexus-public</id>
    <url>http://nexus.bippo.co.id/nexus/content/groups/public/</url>
</repository>
但它当前导入了错误的软件包版本:

    scala.collection.convert;version="[2.9.2,2.10)",
    scala.concurrent.util;version="[2.9.2,2.10)",
    scala.concurrent.util.duration;version="[2.9.2,2.10)",

+谢谢你的帮助,杰米。你知道你推荐的图书馆与张国锋创建的图书馆相比如何(见我的答案)?我知道-黑子(该图书馆的创建者)是我的老板。:)这是一个从Scala代码生成新包的库,并从存储库中提供Scala语言和编译器包。你一定要考虑假设2.2.2可用的路线。如果没有,或者如果你有理由不想从外部回购中再次下载,那么就使用Eclipse,这就是我最终选择的路线。请让Heiko知道他是个救命恩人。请注意——Scala 2.10.0-RC1和更高版本内置了OSGi支持,但是默认情况下,头文件不是构建在部署的JAR上的——现在你必须下载Scala源代码并运行一个特殊的ant目标“OSGi bundles”来创建它。如果运气好的话,这将很快添加到标准发行版中。
<dependency>
  <groupId>org.scala-lang-osgi</groupId>
  <artifactId>scala-library</artifactId>
  <version>2.10.0-M6</version>
</dependency>
<dependency>
  <groupId>org.scala-lang-osgi</groupId>
  <artifactId>scala-compiler</artifactId>
  <version>2.10.0-M6</version>
</dependency>
<dependency>
  <groupId>org.scala-lang-osgi</groupId>
  <artifactId>scala-dbc</artifactId>
  <version>2.10.0-M2</version>
</dependency>
<dependency>
  <groupId>org.scala-lang-osgi</groupId>
  <artifactId>scala-swing</artifactId>
  <version>2.10.0-M6</version>
</dependency>
Error executing command: Error starting bundles:
nable to resolve 160.0: missing requirement [160.0] osgi.wiring.package; (&(osgi.wiring.package=scala.collection.convert)(version>=2.9.2)(!(version>=2.10.0)))      
    scala.collection.convert;version="[2.9.2,2.10)",
    scala.concurrent.util;version="[2.9.2,2.10)",
    scala.concurrent.util.duration;version="[2.9.2,2.10)",