2017-01-13 3 views
0

私は、別のScalaプロジェクトから抽出したクラスを、複数のプロジェクトから参照できるクラスライブラリに組み込むことを試みています。しかし、クライアントプロジェクトの中からクラスを参照することはできません。私はIntelliJ 15.0.6に慣れており、Scalaの私の背景はスクリプトに限られています。 Scalaプロジェクトにクラスライブラリを含めるには?

  1. は私が
  2. が、私はそれを構築する& libにプロジェクトへのJARのアーティファクトを追加「MyUtils」と呼ばれる新しいScalaのSBTプロジェクトに必要なクラスを抽出しました。指定されたJARファイル成果物を生成しました。
  3. 私はJARが
  4. が含まれているファイルの種類としてクラスを選択し、クライアントのIDEのプロジェクト設定でJARにScalaのライブラリの依存関係を追加した「MyAppの」
  5. と呼ばれるクラスを消費するために、新しいクライアントのScala SBTプロジェクトを作成しました
  6. 参照を更新するためにプロジェクトを保存して再ビルドしました。
  7. インポートしたJARへの参照をプロジェクトブラウザで展開しました。 META-INF MyUtils(必要なクラス) JARの中で必要なクラスをダブルクリックすると、IDEにクラスのソースファイルが表示されます
  8. クラス私はJARから欲しいですが、IDEはそれを解決できません。
  9. 新しいクラスのインスタンスを作成するコード行を追加しました。IDEツールが問題を解決する方法を提供しているかもしれないと思っていましたが、実際にはクラスを解決するように見えました。 (行は赤ではなく、エラーアイコンも表示されません)。ただし、作成/再構築すると、クラスタイプが見つからないというコンパイラエラーが発生します。 IDEはクラスを見ているが、コンパイラは見ないようです。

どのように私はこれを修正できますか?

おかげ

答えて

0

src/main/scala/libを作成し、そのフォルダにJARをコピーすることで、JARリファレンスの問題を解決しました。

-1

は(再構築プロジェクトに異なる)プロジェクトリフレッシュTODO必要、またはその代わりにSBTを経由して、それを構築することがあります。私はintellijがこれに少し不調かもしれないことに気づいた。

this thing here

0

あなたはSBTを使用しているので、私はあなたがあなたのライブラリの依存関係を管理するためにそれを使用することをお勧め。 SBTは、jarファイルをダウンロードしてプロジェクトで利用できるようにするビルドツールです。 https://mvnrepository.com/ - (この場合はApacheのダービーで)ライブラリの依存関係を追加するには

は、あなたがこのサイトにあなたの依存関係を見つけることができますあなたの「build.sbt」ファイルの終わり

libraryDependencies += "org.apache.derby" % "derby" % "10.4.1.3" 

に向けた次の行を追加します。あなたのライブラリ名を検索し、バージョンを選択して、sbtタブからスクリプトをコピーしてください。

+0

JARはローカルファイルであり、Mavenリポジトリにはありません。 – user2029783

関連する問題