49

私は最近、Eclipse で Scala を使用することをあきらめました (補完などの基本的な機能は機能しません)。だから今私はIntelliJを試しています。私はあまり遠くに行っていません。

私はプログラムを編集することができました (構文の強調表示と補完の範囲内で... やった!)。しかし、最も単純な「Hello World」でさえ実行できません。これは元のエラーでした:

Scala 署名 Predef のバージョンが間違っている
予想 5.0
見つかった: 4.1 in .... scala-library.jar

しかし、それは IDEA 9.0.1 の昨日のことです。下記参照...

アップデート

今日、私は IntelliJ 9.0.1 をアンインストールし、Scala プラグインの 4/14 安定バージョンを含む 9.0.2 Early Availability をインストールしました。

次に、ウィザードを使用してプロジェクトを最初からセットアップします。

  • ゼロからの新しいプロジェクト
  • JDK は 1.6.u20 です
  • グローバル/モジュールの代わりにデフォルト(プロジェクト)を受け入れます
  • プロジェクトの lib フォルダーへの Scala 2.8.0beta1 のダウンロードを受け入れる

新しいクラスを作成しました:

オブジェクトこんにちは{
  デフメイン(引数:配列[文字列]){
    println("こんにちは: " + args);
  }
}

私の努力のために、私は今、真新しいエラーを持っています:)

ここにあります:

Scalac 内部エラー: クラス java.lang.ClassNotFoundException [java.net.URLClassLoader$1.run(URLClassLoader.java:202)、java.security.AccessController.doPrivileged(Native Method)、java.net.URLClassLoader.findClass(URLClassLoader.java) :190)、java.lang.ClassLoader.loadClass(ClassLoader.java:307)、sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)、java.lang.ClassLoader.loadClass(ClassLoader.java:248) 、java.lang.Class.forName0(ネイティブメソッド)、java.lang.Class.forName(Class.java:169)、org.jetbrains.plugins.scala.compiler.rt.ScalacRunner.main(ScalacRunner.java:72) ]

最終更新

9.0.2 EA をアンインストールして 9.0.1 を再インストールしましたが、今回はデフォルトの 2.7.6 ではなく 2.7.3 バージョンの Scala を使用しました。これは、2.7.3 が IntelliJ Web サイト (スクリーンショットは、彼らが実際にこのバージョンをテストしたことを証明していると思います!)。今、すべてが動作します!!!

4

9 に答える 9

20

Intellij Idea 9.0.2 で Scala プロジェクトを実行しようとしたときに同じ scalac エラーが発生し、偶然に解決策を見つけることができました :)。これらは、プロジェクトを作成して実行する際に行った手順です。

Intellij Idea 9.0.2 final で Scala プロジェクトを作成しました (本日リリースされました)。Scala プラグインをインストールし、IDE を再起動して、scala-2.8.0.Beta1 をプロジェクト ライブラリとして新しい Scala プロジェクト (「TestScala」という名前) を作成しました。プロジェクトを作成し、scala ライブラリをダウンロードしたら、次の内容の Test.scala ファイルを作成しました。

object Test  {
 def main(args:Array[String]){
   println("hello")
 }
}

その後、「アプリケーション」テンプレートを選択して、起動構成 (「構成の編集」) を作成しました。メインクラスとして Test を設定し、「モジュールのクラスパスと JDK を使用する」コンボボックスでプロジェクト名 (「TestScala」) を選択します。構成を実行すると、報告されたのと同じエラーが発生します ("Scalac internal error: class java.lang.ClassNotFoundException") 。

今、気紛れな部分が来ます:)。プロジェクトを右クリックして「モジュール設定」を選択し、すべての設定を確認しますが、何も変更しません。「適用」と「OK」をクリックし、構成を再度実行してみてください。動作します:)。

Intellij Idea 9.0.2 最終リリース (ビルド 95-66) を使用します。Ubuntu 9.10 および JDK 1.6.0_18。また、Intellij で JDK を構成したことにも言及する必要があります。それ以外の場合は、それを構成するための追加の手順があります。

アップデート:

モジュールの設定を確認するときは、 Module-> Scala and Facets->Scala をクリックする必要があります (展開して Scala(ProjectName) をクリックします)。これらの設定はどちらも、scala コンパイラと scala ライブラリの場所に関するものです。プロジェクトの作成時にこれらの値が適切に設定されていないと思いますが、ユーザーがそれらに触れて設定を保存すると保存されます。

于 2010-04-22T07:00:17.487 に答える
10

あなたの質問に答えると、Scala で動作する IDE を入手するのは 2 つの理由で困難です。(a) Scala は幅広いユーザーに届き始めたばかりであり、(b) (a) のために時間を費やすビジネス ケースはありません。スカラ IDE。

また、あなたが頭を後ろに向けるのに十分な年齢であり、まだ覚えているのに十分若い場合は、Java の最初の 5 年以上の間、Java をコンパイルするだけの JBuilder のようなまあまあのツールに行き詰まっていたことを知っているでしょう。あなたがそう言ったときのコード - エラーの強調表示、自動インポート、リファクタリングという言葉さえ存在しませんでした。開拓者になりたい場合は、自分で道路の一部を切り開くか、少なくともブッシュバッシュする準備をする必要があります。

役に立たないことはわかっていますが、Linux、Mac、および Windows で IDEA for Scala をうまく使用しています。私は通常、「ダウンロード」オプションを使用するのではなく、Scala SDK をローカルのどこかにインストールし、IDEA をそこに向けます。

現在、私は主に Mac OS X で Scala 2.8.0.Beta1-RC5 を搭載したEAP バージョンの IDEA 9を使用しており、うまく動作しています (ただし、fsc は混合ソースでは動作しないようです)。

IDEA Scala プラグイン ディスカッション フォーラムで運試しをすることもできますが、私自身の投稿に対してあまり多くの反応はありませんでした。

于 2010-04-20T10:54:18.380 に答える
6

プラグインのインストールは前提条件の 1 つです。

次に行うべきことは、Scala ライブラリコンパイラの JAR ファイル (少なくともscala-compiler.jarと) を保持するライブラリ (グローバルまたはプロジェクト固有。私はグローバルを使用) を定義することですscala-library.jar。ソース JAR とドキュメント JAR または URL を追加することも良い考えです。次に、このライブラリーを、プロジェクト内の Scala コードを含むすべてのモジュールの依存関係にします。

最後に、これらのモジュールで Scala ファセットを見つけて、両方のチェック ボックスをオフにします。

于 2010-04-20T14:46:48.773 に答える
2

新しくインストールしたところ、まったく同じ問題が発生しました。ルート パッケージにファイルを作成したため、IDEA はパッケージの名前を付けて上部に package ステートメントを追加したことがわかりました。これが「パッケージオブジェクトメイン」としてコンパイルされたと思います-2.8で有効な構文ですか? とにかく、パッケージという行を削除したところ、すべて正常に機能しました。

于 2010-06-07T02:53:34.023 に答える
1

I had the same problem yesterday while trying to set it up. Solution is pretty simple, you just have to set scala somewhere in project settings.

于 2010-04-20T11:34:51.260 に答える
0

このエラーが発生し、プロジェクトを右クリックして[モジュール設定を開く]必要がありました。しかし、それは単に適用を押すだけではありませんでした。プロジェクトごとにコンテンツルートが正しいことを確認する必要がありました。何らかの理由で、いくつかの誤ったソースフォルダとテストフォルダがありました。

私のプロジェクトはメインのビルドツールとしてMavenを使用しており、プロジェクトをIntellijにインポートすることが、これらの誤った設定を作成した可能性があります。

于 2011-01-26T18:16:32.043 に答える
0

私は Netbeans を使用して scala プログラムを作成しています。これまでのところ、私のコードでは非常にうまく機能しています。プラグインはhttp://wiki.netbeans.org/Scala68v1で試すことができます。

于 2010-05-17T09:47:39.413 に答える
0

私は同様の問題を抱えていました。このブログ投稿の指示に従うと、問題が解決しました

于 2011-08-26T11:55:09.800 に答える
0

2 つの異なる Scala バージョンでコンパイルされたコードを混在させています。

于 2010-04-19T14:57:25.057 に答える