2

*.warファイルにコンパイルしてTomcatにデプロイするSpring + Hibernateアプリケーションがあります。これは開発者として私にとってはうまくいきますが、

Java がインストールされているが、Tomcat がインストールされていないユーザーのコンピューターでそのアプリケーションを実行する方法はありますか?

実際にサーブレットコンテナを実行し、アプリケーションをユーザーのコンピューターにデプロイする何らかのパッケージを使用するソリューションも受け入れますが、ユーザーがコンテナをインストールして構成する必要はありません。

助言がありますか?

編集:

基本的に、Tomcat やその他のツールをインストールしなくても、ユーザーが実行可能ファイルから Web アプリケーションを実行できるようにしたいと考えています。

4

4 に答える 4

4

いくつかのオプションがあります:

  1. ソースコードをユーザーに配布していて、maven がインストールされている場合は、アプリケーションをローカルで実行mvn jetty:runまたはmvn tomcat:runビルドして、Maven プラグインによって開始されたサーブレットコンテナー内で実行することができます。

  2. アプリケーションに TomcatまたはJettyを埋め込むことができるため、アプリケーションでmain()メソッドを実行すると、特定のポートでリッスンするサーブレット コンテナーが起動し、アプリケーションが実行されます。これにより、アプリケーション全体を 1 つの.jarファイルとしてパッケージ化し、.xml で実行することができますjava -jar your.jar

于 2012-09-13T16:00:47.153 に答える
3

Winstone サーブレット コンテナーを使用すると、war ファイルを winstone jarに埋め込むことができます。その結果、"java -jar foo.jar" またはクリック可能な jar として実行できる単一の jar デプロイメントが得られます。

Jenkins/Hudson はこれを使用します。爆発的な戦争を使用するために、いくつかのクラスパスのトリックでそれを使用しました。

詳細については、 http://winstone.sourceforge.net/#embeddingを参照してください。

これは、現時点でこれを行うための最もエレガントな方法です。

于 2012-09-13T17:38:51.223 に答える
2

を使用してコマンドラインからSpring + hibernateアプリケーションを実行ClassPathXmlApplicationContextし、メソッドにSpring構成ファイルをロードしてmain、Springコンテナーと残りの配線を初期化できます。

ただし、サーブレットまたは Java サーブレット仕様を使用する同様のパラダイムを使用して作成された Web アプリケーションを実行するには、Tomcat のようなサーブレット コンテナーが必要です。

于 2012-09-13T15:55:58.500 に答える
0

直接的な例ではありませんが、同様の例として役立つ可能性があります: http://www.zimbra.com/products/desktop.htmlおよびhttp://www.zimbra.com/products/zimbra-open-source.html

于 2012-09-13T18:32:52.857 に答える