1

Scala 2.9.3プラグインがインストールされたEclipseに取り組んでいます。
日食から正常に動作する Scala プロジェクトがありますが、プロジェクトを「実行可能な JAR ファイル」にエクスポートして実行しようとすると、次の例外が発生します。

java.lang.NoClassDefFoundError: scala/ScalaObject

3 つのライブラリ処理オプションをすべて試しました。

  • 必要なライブラリを抽出...
  • 必要なライブラリをパッケージ化...
  • 必要なライブラリをコピー...

すべてが同じ例外になります。

プロジェクトからスタンドアロン JAR ファイルを作成するには、何をする必要がありますか?

4

2 に答える 2

1

過去にsbt-assemblyプラグインを使用したことがありますが、非常に使いやすいことがわかりました。

于 2013-07-22T04:03:17.750 に答える
1

プロジェクトの保守と構築に SBT を使用している場合は、pedrofurla提案されているようにsbt-assemblyプラグインを試してください。最も単純なケースでは、プロジェクトのビルドに以下を追加するだけです (私は を好みますBuild.scalaが、*.sbt見た目は同じです):

1) インポート:

import sbtassembly.Plugin._
import AssemblyKeys._

2) 設定:

mainClass in assembly := Some("path.to.MainClass")
jarName   in assembly := "jar-name.jar"

3) 成果物を公開する場合:

artifact in (Compile, assembly) ~= { art =>
  art.copy(`classifier` = Some("assembly"))
} // add classifier

そして、公開タスク:

lazy val publishingSettings = addArtifact(artifact in (Compile, assembly), assembly) ++ Seq(
    publishTo := /* your repository settings */
  )

assemblyオールインワンの jar ファイルを取得するか、publish を呼び出してリポジトリに公開します。それはうまくいくはずです

于 2013-07-22T07:49:55.860 に答える