1つのWebコンテナの瓶に対してJavaプログラムを構築し、別のWebコンテナに展開することの意味

StackOverflow https://stackoverflow.com/questions/6819688

質問

1つのWebコンテナ(Jettyなど)の瓶に対してJavaプログラムを構築し、別のWebコンテナ(たとえばTomcatなど)で実行することの意味は何ですか?

Jetty Durring Developmentで実行されますが、生産用にTomcatサーバーに展開されているアプリケーションがあります(なぜですか?Tomcatサーバー全体を実行することなく開発が簡単に思えるからです。)

役に立ちましたか?

解決

開発者以外のビルドについては、ターゲットのレベルに対して、公式のJava EE APIのみをコンパイルする必要があります。できればビルドエンジンによって。できれば、あなたが開発するのとは異なるオペレーティングシステムで。

Webアプリケーションの場合、これはOracleからダウンロードされた適切なサーブレットAPIを意味します。エンタープライズアプリケーションについても同様です。

私の経験では、これはそれをまっすぐに保つための最良の方法です。


編集:Java EE SDKはから入手できます http://www.oracle.com/technetwork/java/javaee/downloads/index.html. 。 Java EE 6より古いバージョンが必要な場合は、「以前のリリース」リンクに従ってください。

他のヒント

MethodNotFounderrorなどの問題を取得できます。通常、サーバーマッチにインストールされているJARのバージョンを確認することで、これらを解決できます。

通常、展開する場所を開発したいと考えています。それは可能性があります 少し Tomcat vs Jettyで開発するのは難しいですが、Jarの競合の問題の潜在的な混乱を特定したので、Tomcatに展開するので、Tomcatで開発する価値はありませんか?

また、通常、Tomcat/あなたの選択したコンテナに対する発達の痛みは、開発コンテナにコードを展開するアリ(または他の)タスクを書くために時間を費やすことにより緩和されます。作業サイクルはbemoesです

1)新しいコードを書きます
2)テストが合格していることを確認してください
3)「redeploy」スクリプトを実行します
4)実行中のインスタンスで突く

あなたはおそらくそれをしたいと思うでしょう。

最後に、ゆるいカップリングの精神では、おそらくそれを避けることができれば、コンテナ固有のライブラリに依存したくないでしょう。絶対的な最後の手段としてのみそれを行います。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top