他のプロジェクトに含めることで使用できる 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 が期待する検索場所は無効になります。