私はここで完全に迷っています。 LenseProjectと呼ばれる外部ハードドライブにプロジェクトがあります。 LenseProjectの中には、.idea
、lib
、Natives
およびSRC
フォルダー。また、読むためのテキストファイルもいくつかあります。
昨夜仕事を辞めたとき、これはすべてうまくいきました。今朝来ると、私は次の人に会います:
Exception in thread "main" Java.lang.ClassNotFoundException: QuadTest
at Java.net.URLClassLoader$1.run(URLClassLoader.Java:366)
at Java.net.URLClassLoader$1.run(URLClassLoader.Java:355)
at Java.security.AccessController.doPrivileged(Native Method)
at Java.net.URLClassLoader.findClass(URLClassLoader.Java:354)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:423)
at Sun.misc.Launcher$AppClassLoader.loadClass(Launcher.Java:308)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:356)
at Java.lang.Class.forName0(Native Method)
at Java.lang.Class.forName(Class.Java:188)
at com.intellij.rt.execution.application.AppMain.main(AppMain.Java:113)
QuadTestがメインクラスです。
役立つと思われる情報:
インポートをコメントアウトすると、適切なエラーメッセージが表示されます。 (シンボルなどが見つかりません)。
Lib\lwjgl-2.9.0\jarにある9つの依存関係があり、それらはProject Structure-> Librariesで設定されています。
このモジュールには、コンテンツルートとしてLenseProjectがあり、ソースフォルダーとしてSRCがあります。
言語レベルは7.0です
プロジェクト構造->モジュール->依存関係でエクスポートする依存関係を設定しています。
コンパイラー出力では、「プロジェクトのコンパイル出力パスを継承」から「コンパイルを開始できません:モジュール「LenseProject」の出力パスが指定されていません。プロジェクトの構成で出力パスを指定してください。
VM option -Djava.library.path=Natives
。
コマンドプロンプトで問題なくプログラムをコンパイルして実行できます。
今朝起動したときに、構成オプションがありませんでした。 SDKとライブラリを再度設定する必要がありました。
アイデアファイル->プロジェクト構造->モジュールを開き、問題のあるモジュールを選択します。[パス]タブで[モジュールのコンパイル出力パスを使用]に変更します。
単体テストの作成中に同様の問題に遭遇しました。すべてはコマンドラインで機能しますが、IntelliJでは失敗しました。 IntelliJは正常にコンパイルされますが、テストは実行されません。
その後、IntelliJのブログの投稿に出くわしました: http://blog.jetbrains.com/idea/2014/03/intellij-idea-13-1-released/
anetより:
2014年3月21日午後12時20分
既存のjunit依存関係を削除し、IDEA=を使用してJUnitライブラリを最初から追加できます。
新しいjunitはhamcrestをバンドルしなくなりましたが、実行時に依存しています。
ありがとう、アンナ
プロジェクトの設定からJUnitを削除し、IntelliJに追加し直しました。その後、物事はうまくいきました。
同様の問題がありました。 Tomcatの実行時に新しい依存関係が見つかりませんでした。問題は、それが/WEB-INF/lib
。半日机の上で頭を叩いた後、私はこれを見つけました YouTubeビデオ それはそれを修正しました。
基本的に、モジュール設定->成果物-> MyWar->出力レイアウトタブから依存関係を追加する必要がありました。使用可能な要素の下で、プロジェクトフォルダーを開きます。 Mavenの依存関係がリストされている場合は、それらを選択します。次に、右クリック->/WEB-INF/libに入力
私の場合、問題は「out」ディレクトリをプログラム出力に再利用したことです。出力を別のフォルダーにリダイレクトすることで解決しました。
次のようにRun Configuration
を確認することをお勧めします。
ツールバー:Run
-> Edit Configurations...
、設定が正しいことを確認します。
それが役に立てば幸い。
私の問題は、このすべてがプロジェクト構造の名前を変更し、Mavenの依存関係が一致しなかったことです。
PomファイルのMaven依存関係を変更した後、機能しました。
ファイル->プロジェクト構造->プロジェクト。プロジェクト言語レベルを「SDK default」から使用している実際のバージョンに変更します。
これは奇妙ですが、問題を解決します。
MainClassNameを確認してください
mainClassName = "com.xxx.xxxApplicationKt"
私は少し古い投稿を知っていますが、私にとっては、実行->構成の編集->アプリケーションで選択したメインコードファイル->右側のパネルの構成に助けてくれました「代替JREを使用:」にチェックマークを付け、jre(.../Java/jdk.x.x.x_xx/jre)というJDKフォルダーを選択します。適用してOK。私はintelliJを初めて使いましたが、それが私の問題を解決し、誰かの助けになることを願っています。