web-dev-qa-db-ja.com

EclipseでScala=を使用して開発するための正しいMavenアーキタイププロジェクトを見つけるにはどうすればよいですか?

Eclipse(Luna)内でScala(v2.11.6)を使用してMavenプロジェクトを作成しようとすると問題が発生します。指示 here は、両方のプラグインをインストールするよう指示しています。

  • EclipseでのMaven統合
  • m2Eclipse-scalaコネクタ

m2Eclipse-scala update site を使用して、両方のプラグインをインストールできます。だから、私は最初の試みでやったことだ。

  • Eclipse Lunaのダウンロード(JavaEE開発者向け)
  • M2Eclipse-scala更新サイトを使用して、上記の「両方」のプラグインをインストールします。

Eclipseがロードされたら、Mavenプロジェクトを作成しようとします。使用したいアーキタイプはGroup Id = net.alchim31.maven、Artifact Id = scala-archetype-simple、Version = 1.5です。ただし、フィルターテキストフィールドに「scala-Arch」と入力すると、このアーキタイプは表示されません。

私が見る唯一のプロジェクトは、Group Id = org.scala-tools.archetypes、Artifact Id = scala-archetype-simple、Version = 1.2のプロジェクトです。使用するこのアーキタイプを選択すると、Eclipseで大量のエラーメッセージが表示されます。

  • consoleRunnerのロード中にエラーが発生しました、Scala署名ConsoleRunnerのバージョンが間違っています:5.0が見つかりました:ConsoleRunner.classに4.1
  • jUnit4のロード中にエラーが発生しました、Scala署名JUnit4のバージョンが間違っています:5.0が見つかりました:4.1でJUnit4.class
  • 仕様の読み込み中にエラーが発生しました、Scala署名仕様のバージョンが間違っています:5.0が見つかりました:Specification.classに4.1

2回目の試みでは、事前にパッケージ化されたバンドルをダウンロードしようとします( Scala IDE for Eclipse )。再び、Scala Mavenプロジェクト、Group Id = net.alchim31.mavenのMavenアーキタイプは表示されません(Group Id = org.scala-tools.archetypesのみ)。

ここで私が間違っていることについてのアイデアはありますか?または、Vanilla Scala自分の目的のためにインポート/変更して使用するMavenプロジェクトを見つけることができますか?

25
Jane Wayne

これがどのように機能するかを示しています。すべてのアーキタイプが利用できないようですので、 this answer に基づいて、リモートカタログを作成しました

Image showing the original dialog with missing entry

だからこれを行う

[Windows]→[設定]→[Maven]→[アーキタイプ]→ Add Remote Catalog カタログを作成してから、 Apply

Image showing "Remote Archetype Catalog" modal window

コピー&ペーストの場合:

新しいMavenプロジェクトの作成に戻ります。を選択 Remote Catalogドロップダウンから。すべてのアーキタイプを収集するには少し時間がかかります。 IDEの右下で進行状況を確認できます。それが完了すると、アーキタイプを見ることができるはずです

Image showing "scala-archetype" entry in the dialog

GroupIdやartifactIdなどを使用してプロジェクトを作成します。

プロジェクトを右クリックして、コンテキストメニューから[Run As]&rarr [Maven Build]を選択します。ダイアログで、clean package目標に。実行。プロジェクトはテストをビルドして実行する必要があります。

私にとって、最初はビルドでエラーが発生しました。これは、私のデフォルト環境がJava 8.を使用しているためです。私はScalaにはかなり慣れていないので、Scala and Java 8 or not(私はそれがScala pom(2.10.0)のバージョンだと思います。)。 Javaで使用されるバージョンをIDEにJava 7。

基本的には[Windows]→[Preferenes]→[Java]→[Installed JREs]→ Add →[システムVM]→ Next →ディレクトリ→Java home(バージョン7)のディレクトリを検索→ Finish →次に、リストでJava 7。

その後、再度ビルドします。動作するはずです。幸運を!

55
Paul Samsotha

1つ追加したいのですが、画像1に示されているアーキタイプのインストール中に次のエラーが発生する場合

アーキタイプorg.glassfish.jersey.archetypes:jersey-quickstart-webapp:2.21 org.Eclipse.core.runtime.CoreExceptionを解決できません:アーティファクトorg.glassfish.jersey.archetypes:jersey-quickstart-webapp:pom:を解決できませんでした: 2.21

画像1: enter image description here

次に、指定されたソリューションで処理を進める前に 上記 、Eclipseで これらの手順 を完了しようとします。

2
Deepak Acharya

上記のようにscala-mavenプロジェクトを正常に作成した後、おそらく"Type not found:type JUnitRunner specs.scala"のエラーが表示されます。その場合、次のXMLスニペットを手動でpomに追加します。

<dependency>
    <groupId>org.specs2</groupId>
    <artifactId>specs2-junit_${scala.compat.version}</artifactId>
    <version>2.4.16</version>
    <scope>test</scope>
</dependency>

さらに、mvn testの実行時のエラーを回避するために、

[ERROR] scalac error: bad option: '-make:transitive'

pom.xmlファイルから次の行も削除する必要があります。

<arg>-make:transitive</arg>
1
Viliam Simko

私は同じ問題に直面し、このSOの質問と@peeskilletによる回答(多くの感謝)に遭遇しました。私は使用しています:

  • Maven 3.3.3
  • Eclipse Luna Scala IDE 4.0.0.-vfinal-20150305-1644-Typesafe
  • Scala 2.11.6
  • JDK 1.8

ここに記載されているとおりの手順を実行した後、壁にぶつかりました。適切なアーキタイプ(net.alchim31.maven)を選択すると、次のエラーが表示されました:Could not resolve artifact net.alchim31.maven:scala-archetype-simple:pom:1.5 Eclipseに埋め込まれたMavenがおかしいと思われるので、[Windows]-> [Maven]-> [Installations]にアクセスし、Mavenのローカルインストール(シェルでM2_HOMEに設定されているもの)を追加しました。しかし、運はありません!

怒り、私はこのサイトにアクセスしました: Scala Doc このページの指示に従ってコマンドラインに切り替えました。驚くべきことに(少なくとも、私にとっては)うまくいきました。現在のディレクトリにmaven-Scalaプロジェクトが作成され、Eclipseにインポートできます。

誤解されないように、@ peeskilletの答えが間違っていると示唆しているわけではありません。 Eclipseでmaven-scalaプロジェクトを作成する別の方法を共有したかったのです。なぜEclipse-Scala-IDEがまだその「あは」という感覚を与えていないのか、まだ理解していません。

1
Nirmalya