他のプロジェクトに含めることで使用できる Java で .jar ファイルを作成しようとしています。メインは含まれず、クラスとメソッドのみが含まれます。次のコマンドを使用して、コマンドラインから .jar ファイルを作成しています
jar cf firstjar.jar *
プロジェクトに jar ファイルを含めていますが、プロジェクトでクラスを使用できません。これの何が問題なのですか。
他のプロジェクトに含めることで使用できる Java で .jar ファイルを作成しようとしています。メインは含まれず、クラスとメソッドのみが含まれます。次のコマンドを使用して、コマンドラインから .jar ファイルを作成しています
jar cf firstjar.jar *
プロジェクトに jar ファイルを含めていますが、プロジェクトでクラスを使用できません。これの何が問題なのですか。
私の推測では、ディレクトリ構造に問題があると思います。
次のようなクラスがあるとします。
package org.foo;
public class Bar {}
Bar.class
ディレクトリに flyがあるはずorg/foo
です。その構造はjarファイルにも含まれている必要があるため、以下を含む org
ディレクトリに移動して実行する必要があります。
jar cf firstjar.jar org
(または、最上位のパッケージ名が何であれ。)
ディレクトリからfoo
クラスファイルを含めるだけでは、Java が期待する検索場所は無効になります。