0

クライアントのために、Java EE テクノロジーでコーディングされた巨大な Web アプリケーションを開発します。私のクライアントは、サーバーの OSS である ANT と Eclipse をサポートしていません。

したがって、私たちの要件は、ローカル システムでアプリケーションをコーディングして開発し、それをテストすることです。次に、ソース ファイルから必要な Java ファイルをコンパイルして展開する展開スクリプトを実行するクライアント サーバーにソース コードを提供する必要があります。 .class ファイルおよびその他のリソース ファイルを、そのサーバー (HP-UX) で実行されている Tomcat に転送します。

JAVA_HOME/bin で利用可能な javac、jar、またはその他のコマンドだけを使用して、ANT スクリプトを使用せずにアプリケーションをデプロイすることは可能ですか? そのような実装がある場合は、ご案内いただけますか? ANT が開発される前、JAVA 開発者はどのようにして大きなアプリケーションを展開していたのだろうか。MAKE コマンド (サーバーで利用可能) は Java アプリケーションには適していないことがわかりました。

注: 複雑なパッケージ階層 (最大 4 レベル) があります。

更新:単純な答えがないようです。クライアントに ANT を使用するよう説得したいと思います。そうでない場合は、以下のコメントに基づいて、クライアント用のクロスプラットフォームカスタムビルドツールを開発します...みんなありがとう..パッケージ化と展開の適切な手順を知っていれば、そのタイプのツールを構築することはそれほど難しくないと思います. ..

4

2 に答える 2

1

全体の設定はかなり奇妙だと思いますが、とにかく...

.war ファイルは非常に単純です。これは、特定のディレクトリ構造を持つ ZIP ファイルです。これは、最初にソース コードをコンパイルするために実行されるシェル スクリプトを使用して簡単に作成できますjavac。次に、ファイルを正しいディレクトリにコピーし、最後に .war 拡張子の付いた ZIP ファイルにパックします。

.war ファイルの仕様は、ネット上で見つけることができます。または、自分の環境でビルドし、ZIP ツールで開いて、どのファイルがどこに行く必要があるかを確認することもできます。

更新:アプリケーションが大きい場合は、モジュールに分割できます。各モジュールはコンパイルされ、個別の .jar ファイル (基本的には ZIP ファイルも) にパッケージ化されます。モジュールが別のモジュールに依存している場合は、必要な .jar ファイルをクラスパス引数としてコンパイラに渡すだけです。

于 2012-07-22T17:41:17.087 に答える
0

本当にクライアントの要求を受け入れる必要がある場合は、これがおそらく私が行う方法です。

追加するすべてのファイルの依存関係を変更する必要がないように、ソース コード、jar ファイル、および出力ファイルを配置する場所の規則を導入します。次に、いくつかの設定を含むスクリプトを作成します。

  1. 戦争の名前。
  2. 図書館の場所のリスト。
  3. ソース ルートのリスト。おそらくルートのフォルダ名を jar ファイル名にします。

次に、スクリプトを実行すると、ライブラリの場所のリストに表示されるすべての jar ファイルを含むクラス パスが作成されます。次に、ソースの場所ごとに Java ファイルをコンパイルし、jar を作成して、jar ファイルをクラスパスに追加します (後のモジュールで必要になる場合に備えて)。

最後に、外部ライブラリ、新しく作成されたjarを使用してWebアプリ構造を構築し、aspファイル(おそらくプリコンパイル済み)をコピーしてから、zipパッケージを使用してWebアプリ構造をwarファイルに作成します.

シェル固有の機能を使用しないように、顧客が受け入れられるシェルを見つけてください。派手なものは必要ないと思いますので、それほど難しくはありません。

于 2012-07-23T07:51:43.133 に答える