Scala 在OSGi中创建Akka项目
我希望在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
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
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)",