2011-07-25 5 views
1

1つのWebコンテナのジャー(例えばJetty)に対してJavaプログラムを構築し、別のWebコンテナ(Tomcat) ?1つのWebコンテナのジャーに対してJavaプログラムを構築して別のWebコンテナに配置することの影響

私は私が開発をdurring突堤で実行するが、生産のためのTomcatサーバーにデプロイされたアプリケーション持って(全体のTomcatサーバーを実行することなく、開発しやすいと思われるので、なぜ?。)

+0

使用しているコンテナ固有のライブラリは、Tomcatが提供するものとは異なります(私の推測は、Push Http aka Cometサポートです)? Tomcatで開発をやっているのは、特にMavenを持っていて、ほぼ同じ時間に起動するのであれば、Jettyと同じくらい簡単です。 –

答えて

2

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

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

これは私の経験上、これを真っ直ぐに保つ最良の方法です。


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

+0

あなたの答えをありがとう。 Oracle Java Webサイトでjava -ee.jarが使用できるアイデアはありますか?私はこれがあなたの「公式Java EE API」の意味であると想定しています。 –

+1

呼び出されたservlet-api.jar javax.servlet servlet-api

0

することができますMethodNotFoundErrorなどの問題を取得します。通常は、サーバーにインストールされているjarのバージョンが一致していることを確認して、これらを解決できます。

0

通常、展開先を開発したいと考えています。それは少しのtomcat対桟橋で開発するのが難しいかもしれないが、あなたはjarの競合の問題の潜在的な混乱を特定したので、あなたはtomcatに展開するので、それはtomcatで開発する価値があるように見えません?

また、開発コンテナにコードをデプロイするant(またはその他の)タスクを書く時間を入れることで、通常はtomcat/your containerの開発の苦痛を軽減できます。作業サイクルは

1)
2)を確認してくださいテストは
3))は、あなたの「再デプロイ」スクリプト
4を実行してあなたがおそらくやりたい

実行中のインスタンスでつつく渡す新しいコードを書くbemoesそれ。

最後に、疎結合の精神で、おそらくコンテナ固有のライブラリに頼ることは避けることができます。絶対最後の手段としてそれを行うだけです。

関連する問題