2009-09-03 6 views
8

私はNetbeansを使ってScalaとJavaを書いています。Javaのスカラコードを呼び出しますか?

Netbeansは、Scalaプロジェクト用の.jarファイルを生成しました。 Javaプロジェクトでそのファイルをインポートしようとしました。しかし、その.jarファイルからJavaプロジェクトにクラスをインポートすることはできませんでした。

また、scala-library.jarをJavaプロジェクトにインポートしようとしましたが、そのjarからクラスをインポートできました。

私はScalaで自分のライブラリを書いてから、Javaのものだけを含む小さなインタフェースを公開し、Javaラッパーを作成して人々がJavaパッケージとして使用できるようにしたいと考えています。それは可能ですか?どうすればいいのですか?

ありがとうございました。

+1

何が間違っていたかを追跡する時間がある場合は、ここに回答を置くと役に立ちます。 –

答えて

8

これは問題ありません。

  1. あなたの.jarファイルが実際に関連する.classファイルが含まれていること(例えば、WinZipやjarユーティリティを使用して)確認していますか? (jar tvf mylib.jarを使用して確認してください)
  2. jarファイルに正しい.classファイルが存在することを確認したら、表示されているランタイムエラーは何ですか?それはNoClassDefFoundErrorですか?もしそうなら、どのclassが見つかりませんか?あなたの(Java)コードで(Scala)クラスをどのように参照していますか?
+0

ありがとうございます。これは、Javaの知識が不足していることが原因であることが判明しました。私はパッケージをscala-library.jarと比較してから、以下を実行します:1.すべてのクラスとサブパッケージが同じルートパッケージの下にあることを確認します。2. MANIFEST.MFファイルをscala-library.jarからサンプル次にJavaからScalaクラスを呼び出すことができました。私はまだ問題がどこから来たのかはっきりしていないが、今は急いでいる。私は後で見つけます。どうもありがとうございました :) – Phil

関連する問題