5

OSGi コンテナ ( ) 内で Akka プロジェクトを実行したいと考えてapache-servicemix-4.4.1-fuse-06-03いますが、依存ライブラリのインストールに少し問題があります。私はすでにインストールakka-actorしておりconfig、次のとおりです。

  • osgi:install -s mvn:com.typesafe.akka/akka-actor/2.1-SNAPSHOT
  • osgi:install -s mvn:com.typesafe/config/0.4.1

しかし、インストールできませんscala-library(v2.9.2 が必要です)。を使用して独自のバンドルを作成しようとしましたmaven-bundle-pluginが、役に立たず、何年にもわたってグーグルで検索してきました。

どんな助けでも大歓迎です。

4

3 に答える 3

4

簡単な回避策を探している場合は、Scala IDE/Eclipse for Scala 2.9.2 のバンドルを使用してください。Akka 2.1/Karaf POC でこれを行ったところ、問題なく動作しました。お持ちでない場合は、こちらの lib フォルダーからダウンロードしてください。

于 2012-07-23T19:40:17.077 に答える
1

これは、scala-users グループに投稿した後、親切にアップロードされました。

https://github.com/guofengzh/scala-lang-osgi

于 2012-07-24T07:38:56.253 に答える
0

@ben1729 によって参照されたscala-lang-osgiのビルド済みバイナリは、Bippo/Soluvas Nexus リポジトリのパブリック リポジトリで利用できるようになりました: http://nexus.bippo.co.id/nexus/content/groups/public/

http://nexus.bippo.co.id/nexus/でレポジトリを参照してください。

使用法:

<repository>
    <id>bippo-nexus-public</id>
    <url>http://nexus.bippo.co.id/nexus/content/groups/public/</url>
</repository>

次に、それらの 1 つまたはすべてを Maven POM ファイルに追加します。

<dependency>
  <groupId>org.scala-lang-osgi</groupId>
  <artifactId>scala-library</artifactId>
  <version>2.9.2</version>
</dependency>
<dependency>
  <groupId>org.scala-lang-osgi</groupId>
  <artifactId>scala-compiler</artifactId>
  <version>2.9.2</version>
</dependency>
<dependency>
  <groupId>org.scala-lang-osgi</groupId>
  <artifactId>scala-dbc</artifactId>
  <version>2.9.2</version>
</dependency>
<dependency>
  <groupId>org.scala-lang-osgi</groupId>
  <artifactId>scala-swing</artifactId>
  <version>2.9.2</version>
</dependency>

新しいバージョンが出たらお知らせください。新しいアーティファクトをリポジトリに再デプロイできます。

更新: Scala OSGi 2.10-M6がリポジトリで利用できるようになりました:

<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>

Akka でも動作しますが、パッチが適用されたAkka 2.1-M1 を使用します ( http://www.assembla.com/spaces/akka/tickets/2367-osgi-manifest-references-2-9-2を参照)。

パッチを適用した Akka は、リポジトリで次のように入手できます: (Karaf URL)

mvn:com.typesafe.akka/akka-actor/2.1-M1/jar/patch2

Akka バグのまとめ: Akka 2.1-M1 には 2.10-M6 が必要です。2.9.2 では動作しません。

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)",
于 2012-08-09T20:46:45.367 に答える