HTMLParser のような Java パッケージを使い始めました。ダウンロードしたところ、多くのファイルとディレクトリが含まれていることがわかりました。
Linux システムのどこに配置すればよいのでしょうか。規約や標準はありますか?
HTMLParser のような Java パッケージを使い始めました。ダウンロードしたところ、多くのファイルとディレクトリが含まれていることがわかりました。
Linux システムのどこに配置すればよいのでしょうか。規約や標準はありますか?
迅速で汚い答えは「クラスパスのどこでも」です。クラスパスは、クライアントマシンのシステムプロパティ(非推奨)として、JVMの起動に使用されるCLIセッションの一時的なシステムプロパティとして設定されます(起動スクリプト)、またはJVMへのコマンドラインパラメータとして(通常は推奨される選択)。
最初と2番目にCLASSPATH環境変数を設定します。正確な構文については、JDKまたはJREのドキュメントを参照してください。また、オペレーティングシステムやシェルスクリプトのドキュメントも参照してください。3番目は、Javaランタイムおよびコンパイラに対して-cpコマンドライン変数を使用します。正確な構文については、それらのドキュメントを参照してください。
ファイルシステムのどこにファイルを配置しますか?開発の目的で、私は通常、そのようなすべてのライブラリを含むコンピュータ上の中央フォルダを使用し、IDEまたは他の開発環境からライブラリにリンクします。エンドユーザーへのデプロイメント/パッケージングでは、すべての配布可能なコンテンツを含む製品フォルダーに「lib」サブフォルダーを作成し、その中にjarファイルを配置するのが一般的です。
Java パッケージには 2 つの形式があります。ソースコード- あなたが言及したすべてのファイルとディレクトリ - およびjarとしてパッケージ化されています。Java プロジェクトの一般的な規則は、プロジェクトが依存するすべての jar を含む lib ディレクトリをプロジェクトが持つことです。これらのプロジェクトは、多くの場合、プロジェクト コードを実行する前に、すべての jar を Java クラスパスに追加するシェル スクリプトを使用します。
しかし、多くのプロジェクトは、依存関係を処理するこの方法から、依存関係の管理を自動的に処理するApache Mavenのようなビルド ツールの使用に切り替えています。他の代替手段には、IvyまたはGradleが含まれます。紹介については、Maven の5 分間の紹介またはMaven 3 チュートリアルを参照してください。
ここでは、プロジェクトで使用するライブラリ (jar) を指定する pom.xml (プロジェクト オブジェクト モデル ファイル) を記述します。その後、Maven はさまざまなプロジェクトのすべての jar をローカル ディレクトリの .m2 ディレクトリに格納し、それらの取得場所とバージョン情報を追跡します。
これにより、lib ディレクトリを作成したり依存関係を手動で管理したりする必要がないため、開発がはるかに簡単になります。また、コンパイルやテストなどの一般的なライフサイクル段階で Maven が自動的にクラスパスを設定するため、複雑なクラスパス設定の多くを回避できます。Eclipse の最近のバージョンでは、Maven pom を読み取り、そこからクラスパスを自動的に構成できます。
プロジェクトをビルドしたら、Maven は、アセンブリ プラグインまたは Shade プラグインを介して、プロジェクトが依存するすべての jar を含む「ファット jar 」を作成するのにも役立ちます。これにより、誰かに使用してもらいたい実行可能ファイルをビルドするときに、コードの配布が容易になります。jar を配布する場合、pom.xml はプロジェクトの依存関係を記述し、依存する jar を配布する必要を回避します。
Linux システムでの一般的なファイルのレイアウトについては、Linux ファイルシステム階層標準を参照してください。