タグ付けされた質問 「classpath」

Javaでは、クラスパスはJavaプログラムの実行時にユーザー定義のクラスとパッケージを探す場所をJava仮想マシンに指示します。クラスパスはパラメータであり、コマンドラインまたは環境変数を介して設定できます。


15
NoClassDefFoundErrorとClassNotFoundExceptionの原因と違いは何ですか?
違いは何であるNoClassDefFoundErrorとはClassNotFoundException? それらがスローされる原因は何ですか?どうすれば解決できますか? 既存のコードを変更して新しいjarファイルを含めるときに、これらのスロー可能オブジェクトに遭遇することがよくあります。クライアント側とサーバー側の両方で、webstartを介して配布されたJavaアプリを攻撃しました。 私が遭遇した考えられる理由: build.xmlコードのクライアント側に含まれていないパッケージ 使用している新しいjarのランタイムクラスパスがありません バージョンが以前のjarと競合しています 今日これらに遭遇したとき、私は物事を機能させるために試行錯誤のアプローチをとります。もっと明確にして理解してほしい。

18
Javaでクラスパスからテキストファイルを実際に読み取る方法
システム変数CLASSPATHに設定されているテキストファイルを読み込もうとしています。ユーザー変数ではありません。 以下のようにファイルへの入力ストリームを取得しようとしています: ファイル(D:\myDir)のディレクトリをCLASSPATHに置き、以下を試してください: InputStream in = this.getClass().getClassLoader().getResourceAsStream("SomeTextFile.txt"); InputStream in = this.getClass().getClassLoader().getResourceAsStream("/SomeTextFile.txt"); InputStream in = this.getClass().getClassLoader().getResourceAsStream("//SomeTextFile.txt"); D:\myDir\SomeTextFile.txtCLASSPATH にファイル()のフルパスを配置し、上記の3行のコードを試してください。 しかし、残念ながらどれも動作nullしておらず、私は常にInputStreamに入りinます。
366 java  classpath 


14
クラスパスディレクトリからリソースのリストを取得する
メソッドのような、特定のクラスパスディレクトリからすべてのリソース名のリストを取得する方法を探していList<String> getResourceNames (String directoryName)ます。 例えば、クラスパスのディレクトリ指定したx/y/zファイルを含むa.html、b.html、c.htmlおよびサブディレクトリをd、getResourceNames("x/y/z")返す必要がありますList<String>以下の文字列を含みます:['a.html', 'b.html', 'c.html', 'd']。 ファイルシステムとjarのリソースの両方で機能するはずです。 Files、JarFiles 、sを使用して簡単なスニペットを作成できることはわかっていますがURL、ホイールを再発明したくありません。私の質問は、既存の公的に利用可能なライブラリを考えると、実装する最も速い方法は何getResourceNamesですか?SpringおよびApache Commonsスタックはどちらも実行可能です。

6
Gradleのbuildscriptブロックの目的
私はGradleを初めて使用し、ドキュメントを読んでいますが、その一部が理解できません。これらの部品の1つがbuildscriptブロックに接続されています。その目的は何ですか? ビルドスクリプトで外部ライブラリを使用する必要がある場合は、それらをビルドスクリプト自体のスクリプトのクラスパスに追加できます。これを行うには、buildscript()メソッドを使用して、ビルドスクリプトのクラスパスを宣言するクロージャを渡します。 buildscript { repositories { mavenCentral() } dependencies { classpath group: 'commons-codec', name: 'commons-codec', version: '1.2' } } わかりましたが、何が違うのですか? repositories { mavenCentral() } dependencies { compile group: 'commons-codec', name: 'commons-codec', version: '1.2' } たとえば、なぜ使用する必要があるのbuildscriptですか?
236 classpath  gradle 

7
IntelliJ IDEAのアプリケーション実行プロファイルのクラスパスにディレクトリを追加する方法
アプリケーション実行プロファイルのクラスパスにディレクトリを追加しようとしています VM設定で-cp x:target / classesを使用してオーバーライドすると、次のエラーが発生します。 java.lang.NoClassDefFoundError: com/intellij/rt/execution/application/AppMain プロジェクトのクラスパスにディレクトリを追加する方法に関するアイデアはありますか?

11
Javaクラスのロード元を見つける
javaクラスローダーが実際にクラスをロードする場所をプログラムで見つける方法を誰かが知っていますか? 私は、クラスパスが非常に長くなり、手動検索が実際には選択肢にならないような大規模なプロジェクトによく取り組みます。最近問題がありました、クラスローダーが2つの異なる場所のクラスパスにあるため、クラスローダーが誤ったバージョンのクラスをロードするがありました。 では、クラスローダーに、実際のクラスファイルがディスク上のどこから来ているのかを教えてもらうにはどうすればよいでしょうか。 編集:バージョンの不一致(または何か他の理由)が原因でクラスローダーが実際にクラスのロードに失敗した場合はどうでしょうか?

4
Springクラスパスプレフィックスの違い
文書化され、ここでそれは状態 この特別なプレフィックスは、指定された名前に一致するすべてのクラスパスリソースを取得する必要があることを指定します(内部的には、これは基本的にClassLoader.getResources(...)呼び出しを介して行われます)。その後、マージして最終的なアプリケーションコンテキスト定義を形成します。 誰かがこれを説明できますか? アスタリスクclasspath*:conf/appContext.xmlがclasspath:conf/appContext.xmlない場合と使用する場合の違いは何ですか。
141 java  spring  classpath 


29
Intellijがインポート時にシンボルを解決できない
この問題は、さまざまなライブラリやさまざまなプロジェクトで断続的に発生します。ライブラリをインポートしようとすると、パッケージは認識されますが、クラス名を解決できません。 インポートステートメントの場合right-click -> Goto -> the package's declaration、サイドペインにすべての逆コンパイルされたクラスが表示されます-必要なものを含みます-インポートステートメントをオートコンプリートしようとすると、必要なクラスが落ちる。 私はすでにキャッシュを無効にしようとしました、動作しません。クラスの競合を見つけることができません-クラスパスに同じパッケージ名を持つ他のjarファイルがありません。このクラスを他のプロジェクトにインポートできます。 スクリーンショットをご覧ください: 誰か手がかりはありますか?


10
IntelliJのクラスパスにプロパティファイルを追加する
実行->実行メニューを使用して、IntelliJ IDEから単純なJavaプログラムを実行しています。正常に動作します。ここで、log4jロギングを追加します。 プロジェクトルートの下にリソースフォルダーを追加しました。そのフォルダーにlog4j.propertiesファイルを追加しました。何かをログに記録するようにコードを変更しました。 プロパティファイルが表示されるようにクラスパスにリソースフォルダーを含めるようIntelliJに指示する正しい方法は何ですか? IntelliJ 8を使用すると、酔った猿のように推測し、最終的にはそれを機能させることができます。私は今9を持っており、私は完全に失敗しています。私は一時間頑張ってきました。どこかに「クラスパスに追加」オプションはどうですか?/ fume / vent / rant

6
「java -cp」と「java -jar」の違いは何ですか?
でJavaアプリケーションを実行しているとの違いは何であるjava -cp CLASSPATHとはjava -jar JAR_FILE_PATH?Javaアプリケーションを実行するために、どちらか一方が他方よりも優先されますか?これらの方法のうち、JVMの方が(マシンリソースの使用状況に応じて)コストが高いのはどれですか。 アプリケーションを実行しようとしたときに、JVMがより多くのスレッドを生成するのはどれですか。
118 java  jar  jvm  classpath 

5
Java、クラスパス、クラスローディング=>同じjar /プロジェクトの複数のバージョン
これは経験豊富なコーダーにとってばかげた質問かもしれません。しかし、私は私のプロジェクトで使用される他のフレームワーク/ jarのいくつかが必要とするライブラリ(httpクライアント)を持っています。ただし、それらすべてに次のような異なるメジャーバージョンが必要です。 httpclient-v1.jar => Required by cralwer.jar httpclient-v2.jar => Required by restapi.jar httpclient-v3.jar => required by foobar.jar クラスローダーは、どういうわけかそれらを分離するのに十分インテリジェントですか?おそらくそうではありませんか?クラスが3つのすべてのjarで同じ場合、クラスローダーはこれをどのように処理しますか。どれがロードされ、なぜですか? Classloaderはjarを1つだけピックアップしますか、それともクラスを任意に混合しますか?たとえば、クラスがVersion-1.jarからロードされた場合、同じクラスローダーからロードされた他のすべてのクラスはすべて同じjarに入りますか? この問題をどのように処理しますか? jarを「required.jar」に何らかの形で「組み込む」ためのトリックがあり、それによって、それらは「1つのユニット/パッケージ」として表示されます。 Classloader、それか、何らかの形でリンクされますか?

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