IntelliJ IDEAプロジェクトに外部jar(lib / *。jar)を追加する正しい方法


734

IntelliJ IDEAで新しいJavaプロジェクトを作成すると、次のディレクトリとファイルが作成されます。

./projectname.iml
./projectname.ipr
./projectname.iws
./src/

IntelliJ IDEAを構成して、依存関係JARを./lib/*.jarプロジェクトに含めます。IntelliJ IDEAでこれを実現する正しい方法は何ですか?


IntelliJのターミナルでプログラムを実行しているときに問題に直面しています。プログラムで必要なクラスを使用するためにimportステートメントを使用しました。IDEで実行していますが、正常に実行されます。しかし、コマンドライン%javac MyProgram.javaからコンパイルしようとすると、エラーが表示されます:シンボルが見つかりません
don_Gunner94

回答:


1306

IntelliJ IDEAで外部jarを追加する手順:

  1. Fileツールバーからクリック
  2. プロジェクト構造(CTRL+ SHIFT+ ALT+ SのWindows / Linux上で、+ ;のMac OS X上)
  3. 左側のパネルで[モジュール]を選択します
  4. 依存関係タブ
  5. '+'→JARまたはディレクトリ

99
また、libフォルダーの追加を検討し、「Attach Jar Directories」を使用すると、すべてのjarがlibフォルダーに追加されます。大まかなプロジェクトの場合、これにより、各jarを個別に選択する必要がなくなります。
joeslice 2009

16
将来の参考のために:その「追加」ボタンはウィンドウの右端から外れていたので、この投稿を見つけてウィンドウのサイズを変更することを考える前に、それを探すのに膨大な時間を費やしました。(これはOSX 10.6.5にありました...)
Daniel Dickison

7
@joesliceは、JARがディレクトリルートにある場合にのみ機能します。「lib」内のサブディレクトリ内のJARでは機能しないようです。
オピエート

6
IJIdea 13では、「追加」の代わりに「+ ">」があります。
Val

4
IDEA 14.0.2を使用しています。追加の代わりに+記号があります。+をクリックすると、3つのオプションがあります。1. JARまたはディレクトリ2.ライブラリ... 3.モジュールの依存関係...
Ripon Al Wasim

239

IntelliJ IDEA 15および2016

  1. ファイル > プロジェクト構造...

    ファイル>プロジェクト構造

    またはCtrl+ Alt+ Shift+S

  2. プロジェクト設定 > モジュール > 依存関係 > " + "記号> JARまたはディレクトリ...

    モジュール>依存関係> JARまたはディレクトリ

  3. jarファイルを選択して[OK]をクリックし、次に別の[OK]ボタンをクリックして確認します

    ここに画像の説明を入力してください

    ここに画像の説明を入力してください

  4. 「外部ライブラリ」フォルダにあるjarファイルを表示できます

    ここに画像の説明を入力してください


「モジュール」ペインで新しいモジュールを実際に作成し(「JarsForLogging」などの名前を付けます)、必要なすべてのjar(プロジェクトツリーから離れたディレクトリにあります)をこの新しいモジュールに追加し、jarを「」とマークします。書き出す"。最後に、新しく作成したモジュールを元のモジュールの依存関係に追加します。そのようにもう少し階層的です。
David Tonhofer 2017

さらに、ファイルシステムのアクセス許可.jarファイルに対して正しく設定されていることを確認してください。chmodLinuxまたはMacOSでそれらを変更するために使用します。
JJD 2018年

4
2018年も引き続き機能します(年およびIntelliJバージョン)。ありがとうございました。この方法でIntelliJ内からArmed Bear Common Lispライブラリをロードして使用できます。
Jason Robinson、

うん。私のIntelliJでもうまく動作します。ありがとう!
Bms bharadwaj

1
:don_Gunner94 @、コマンドラインを介して、あなたはまた、このようなjarファイルを提供すべきであるjavac -cp ".:/my/path/file.jar;" MyProgram.java
ROMANIA_engineer

118

「libs」フォルダー(または「libs」フォルダー全体)の下に.jarをコピーして貼り付け、右クリックして、リストから「ライブラリーとして追加」オプションを選択します。それは残りを行います...

ここに画像の説明を入力してください


Eclipseの時代以来、私たちが慣れ親しんでいる最も簡単な方法。
スフィアン2015

3
簡潔でシンプル!!
Anaximandro Andrade

3
それでも「名前」を要求するのはちょっと面倒ですが、そこに迷惑メールを残すことはできますか?
dividebyzero 2016

これも私を助けました!
Preeti Joshi

IntelliJのターミナルでプログラムを実行しているときに問題に直面しています。プログラムで必要なクラスを使用するためにimportステートメントを使用しました。IDEで実行していますが、正常に実行されます。しかし、コマンドライン%javac MyProgram.javaからコンパイルしようとすると、エラーが表示されます。シンボルが見つかりません。–
don_Gunner94

20

それらをライブラリとしてモジュールに追加します。

私は通常/lib、ソースにディレクトリを持っています。必要なすべてのJARをそこに置き、ライブラリーとして/ libを追加して、モジュールの依存関係の一部にします。

2018年の更新:IntelliJ 2017/2018を現在使用しています。

依存関係の管理については、MavenとNexusに全面的に取り組んでいます。

これは世界が進んだ方法です。私が知っているすべてのオープンソースJavaプロジェクトは、MavenまたはGradleを使用しています。あなたもすべき。


はい、でも、Maven pomがpom.xmlと呼ばれていない場合はどうなりますか?次に、Mavenの依存関係を読み取ることができないようです。
user1001630 2015

4
慣例として、pom.xmlと呼びます。規則に従って、ファイルの名前を変更します。
-duffymo

jarにmavenリポジトリがない場合でも、必要性はまだありますが、これを正しく行う方法がわかりません。私はディレクトリを追加する方法を理解していますが、javadocsもインポートする方法を理解していません。jarを1つのファイルとして追加すると機能しますが、ディレクトリを追加すると機能しません。それは単に不可能ですか?
ycomp、2015年

これは健全なアドバイスです。jarファイルを手動で追加すると、時間がかかり、エラーが発生しやすくなります。依存関係は常にpom.xml(コードを介して)、(Mavenの場合)またはGradleの同等の構成で構成する必要があります。
vikingsteve

1
すべてのJARにはリポジトリがあります。パブリックリポジトリまたはプライベートリポジトリで利用できない場合は、ローカルの.m2に手動でmvn installできます。それ以外の理由はありません。
duffymo

17

Gradleでプロジェクトをビルドしている場合は、build.gradleの依存関係に1行追加するだけです。

buildscript {
    ...
}
...

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
}

次に、フォルダーをルートプロジェクトまたはモジュールに追加します。

ここに画像の説明を入力してください

それからあなたは瓶をそこに落とし、あなたは行ってもいいです:-)


IntelliJのターミナルでプログラムを実行しているときに問題に直面しています。プログラムで必要なクラスを使用するためにimportステートメントを使用しました。IDEで実行していますが、正常に実行されます。しかし、コマンドライン%javac MyProgram.javaからコンパイルしようとすると、エラーが表示されます。シンボルが見つかりません。–
don_Gunner94

7

私はこの方法を使用し、それはうまくいきます:

1- .jarファイルをコピーして、libsフォルダーの下に貼り付けます。

2-に追加compile fileTree(dir: 'libs', include: '*.jar')するdependenciesbuild.gradlelibsフォルダー内のすべてのjar が含まれます。

3- libsフォルダを右クリックして、リストから[ライブラリとして追加]オプションを選択します。


ありがとう、これが私のために働いた唯一のものでした!
グレゴーディ

IntelliJのターミナルでプログラムを実行しているときに問題に直面しています。プログラムで必要なクラスを使用するためにimportステートメントを使用しました。IDEで実行していますが、正常に実行されます。しかし、コマンドライン%javac MyProgram.javaからコンパイルしようとすると、エラーが表示されます。シンボルが見つかりません。
don_Gunner94

5

ライブラリは、プロジェクトのgradleファイルに適切に追加されていないと、どのプログラムでも直接使用できません。

これは、Intel JなどのスマートIDEで簡単に実行できます。

1)慣例として、プロジェクトのsrcファイルの下に「libs」という名前のフォルダーを追加します。(これはIDE自体を使用して簡単に行うことができます)

2)次に、ライブラリファイル(例:.jarファイル)を「libs」という名前のフォルダにコピーまたは追加します。

3)これで、libsフォルダー内のライブラリファイルを確認できます。ファイルを右クリックして、「ライブラリとして追加」を選択します。これにより、プログラム内のすべての関連ファイルが修正され、ライブラリを直接使用できるようになります。

ご注意ください:

ライブラリをプロジェクトに追加するときは常に、プロジェクトがライブラリをサポートしていることを確認してください


3

ここにいくつかの大きな助けがあります。しかし、JARを適切にロードしたにもかかわらず、私はまだそれを動作させることができませんでした。通常のフォルダではなくファイル構造で誤ってモジュールを作成し、このモジュールがプロジェクト設定で事前に選択されていたことが後でわかりました。

ここにフットプリントがあります:

ファイル->プロジェクトの構造->モジュール->(さらにある場合は適切なモジュールを選択)->依存関係-> +-> JARまたはライブラリ


3

以前の回答には同意しますが、これらの外部ライブラリのコードにアクセスする方法に注意することが重要です。

たとえば、外部ライブラリのクラスにアクセスするには、 importキーワードの後に​​外部ライブラリの名前を続け、目的のクラスに到達するまでドット表記を続けます。

下の画像を見て、quickfixjライブラリからCodeGenerationExceptionクラスをインポートする方法を確認してください。

ここに画像の説明を入力してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.