Java Webアプリケーションのベストプラクティス

ジェレミー:

かなり単純なWebアプリケーションを開発およびリリースするための最適な方法を見つけようとしているところ、いくつかの問題が発生しています。私が行った決定の概要を説明します。なぜなら、どこかで明らかにレールから外れてしまったからです。どんな助けにも非常に感謝します!

かなりシンプルなWebアプリケーションだと思います。これには、2つのJava Beanを参照する2つのjspと、通常の静的html、js、css、およびイメージが含まれています。

決定1)ローカルマシンで開発し、本番マシンに確実にリリースできるように、明確でクリーンなリリース手順が必要でした。したがって、解放する必要のある個別の要素を最小限に抑えるために、アプリケーションをwarファイル(すべての静的リソースを含む)にパッケージ化することを決定しました。ここまでは順調ですね?

決定2)ローカルマシンの物事を本番環境にできるだけ類似させたい。たとえば、私のhtmlでは、http://static.foo.com/fileなどの静的ファイルへの参照がある場合がありますこのコードをdevとprodでシームレスに機能させるために、ローカルで開発する際にstatic.foo.comを/ etc / hostsに入れて、すべてのURLが何も変更せずに正しく機能するようにしました。

決定3)私は、EclipseとMavenを使用して、プロジェクトを管理および構築するためのベストプラクティス環境を提供することにしました。

それで、私は今タイトなセットアップをしています:

htmlファイルの1行など、開発中の何かを変更するたびに、プロジェクト全体を再ビルドし、tomcatがwarをロードするのを待ってから、それが必要かどうかを確認できます。だから私の質問は:

1)毎回戦争を再構築する必要がないように、EclipseとTomcatを接続する方法はありますか?つまり、tomcatは静的ファイルを提供するために実際のワークスペースをまっすぐ見ていますか?

2)私は/ etc / hostsを使用して本番URLを反映することで物事を難しくしていると思います-URLを手動で変更することを含まないより良い方法はありますか(相対URLはもちろん問題ありませんが、多くのサブドメインがある場合) 、1つは静的ファイル用、もう1つは動的ファイル用であり、絶対パスを書き出す必要がありますか?)

3)これは本当にベストプラクティスですか?自動化された包括的なビルドプロセスの要件と、JavaScriptとhtmlとcssを、まるで指摘したかのようにすばやく開発できる速度と柔軟性を両立させるために、人々はどのように設定しますかディレクトリでのApacheとライブ開発?人々は何を作品としていますか?

どうもありがとう!

編集:素晴らしい回答をありがとう!私はそれらをすべて正しくマークすることができれば、そうします。これは本当に私を助けました。私が聞いているのは、ベストプラクティスは、開発中のWebアプリケーションの構造を保存し、できるだけ本番環境に近い環境で実行することです。人々の違いは、人々がサーブレットコンテナーにリソースをホットデプロイする準備ができている程度であり、少し余分な速度や利便性のためにビルドプロセスを回避しているようです。それは理にかなっている。再度、感謝します。

クジラ:

#1に回答するには、次のことをお勧めします。

  1. 日食なしで.warを構築するためにmavenを学ぶのにしばらく時間を費やしてください。適切なアーキタイプがあればそれほど難しくありません。詳細については、こちらをご覧ください:http : //maven.apache.org/guides/mini/guide-webapp.html
  2. Mavenはmvn eclipse:eclipse、m2プラグインを使用して、または使用して、Eclipseプロジェクトを生成できます
  3. ローカルマシンと本番環境にデプロイするには、mavenカーゴプラグインを使用します。http://cargo.codehaus.org/Maven2+pluginおよびhttp://blank.jasonwhaley.com/2010/03/automated-deployment-with-cargo-drive.html

質問#2に答えるために、/ etc / hostsファイルを変更して本番環境を模倣することには何の問題もありません。これらのエントリを追加/削除し、DNSキャッシュをフラッシュする簡単なスクリプトを用意してください。私はいつもそうします。(必ず関連する設定を通じて、ブラウザのキャッシュを頻繁にクリアしてください)。

質問3)に答えるには、はい、これはあなたがすべきことです。ビルドごとに、1つのステップで任意の環境にデプロイできる単一のデプロイ可能なアーティファクトが生成されます。IDEなしでこれを実行できることを確認し、IDEを開発段階で役立つツールとしてのみ使用する必要があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Java Spring Webアプリケーションでのエンティティのローカリゼーションのベストプラクティス

分類Dev

最小限のダウンタイムでJava Webアプリケーションをデプロイするためのベストプラクティス?

分類Dev

Java Swingデスクトップアプリケーションを国際化するためのベストプラクティスは何ですか?

分類Dev

Extjs / Javaアプリケーションにセキュリティを実装するためのベストプラクティス

分類Dev

Javaローカリゼーションのベストプラクティス

分類Dev

モジュラーJavaアプリケーションでehCacheを構成するためのベストプラクティス

分類Dev

Java Web Startアプリケーションのトラブルシューティングとログファイルへのアクセス

分類Dev

Javaアプリケーション構成ファイルの場所のベストプラクティスは何ですか?

分類Dev

テストコンソールベースのアプリケーション/プログラム-Java

分類Dev

Java8のオプションリターンを使用したJPAのベストプラクティス?

分類Dev

Java Webアプリケーション「期限切れのセッションのイベントリスナー」

分類Dev

Java EEアプリケーションのディスクストレージ

分類Dev

Javaのインタラクティブマップビューアデスクトップアプリケーション

分類Dev

Jemmyを使用したJava Web Startアプリケーションのテスト

分類Dev

Javaのデスクトップアプリケーション

分類Dev

Java Webアプリケーションのプロパティ

分類Dev

分散トランザクションのベストプラクティス(java)

分類Dev

Javaアプリケーションでプライベートコンストラクターをテストする方法

分類Dev

Javaデスクトップアプリケーションのインストーラーの作成

分類Dev

データベースシステムのためのJavaデスクトップアプリケーション

分類Dev

1つのJUnitでインタラクティブなテキストベースのJavaアプリケーションをテストするにはどうすればよいですか?

分類Dev

Mac、Windows、Linux上のJavaデスクトップアプリケーションインストーラー

分類Dev

クラスタ内のJavaアプリケーションのデータベース

分類Dev

Java、匿名の内部プライベートインターフェイスのアクセシビリティ

分類Dev

Java Webアプリケーションを実行するための単一サーバーのスケーラビリティ

分類Dev

Spring DataJPA-Java8ストリームのサポートとトランザクションのベストプラクティス

分類Dev

Java JSONシリアル化-ベストプラクティス

分類Dev

Javaアプリケーションの別のクラスからユーティリティクラスに宣言されたパブリック最終静的リストにアクセスするにはどうすればよいですか?

分類Dev

Javaアプリケーションインストーラー

Related 関連記事

  1. 1

    Java Spring Webアプリケーションでのエンティティのローカリゼーションのベストプラクティス

  2. 2

    最小限のダウンタイムでJava Webアプリケーションをデプロイするためのベストプラクティス?

  3. 3

    Java Swingデスクトップアプリケーションを国際化するためのベストプラクティスは何ですか?

  4. 4

    Extjs / Javaアプリケーションにセキュリティを実装するためのベストプラクティス

  5. 5

    Javaローカリゼーションのベストプラクティス

  6. 6

    モジュラーJavaアプリケーションでehCacheを構成するためのベストプラクティス

  7. 7

    Java Web Startアプリケーションのトラブルシューティングとログファイルへのアクセス

  8. 8

    Javaアプリケーション構成ファイルの場所のベストプラクティスは何ですか?

  9. 9

    テストコンソールベースのアプリケーション/プログラム-Java

  10. 10

    Java8のオプションリターンを使用したJPAのベストプラクティス?

  11. 11

    Java Webアプリケーション「期限切れのセッションのイベントリスナー」

  12. 12

    Java EEアプリケーションのディスクストレージ

  13. 13

    Javaのインタラクティブマップビューアデスクトップアプリケーション

  14. 14

    Jemmyを使用したJava Web Startアプリケーションのテスト

  15. 15

    Javaのデスクトップアプリケーション

  16. 16

    Java Webアプリケーションのプロパティ

  17. 17

    分散トランザクションのベストプラクティス(java)

  18. 18

    Javaアプリケーションでプライベートコンストラクターをテストする方法

  19. 19

    Javaデスクトップアプリケーションのインストーラーの作成

  20. 20

    データベースシステムのためのJavaデスクトップアプリケーション

  21. 21

    1つのJUnitでインタラクティブなテキストベースのJavaアプリケーションをテストするにはどうすればよいですか?

  22. 22

    Mac、Windows、Linux上のJavaデスクトップアプリケーションインストーラー

  23. 23

    クラスタ内のJavaアプリケーションのデータベース

  24. 24

    Java、匿名の内部プライベートインターフェイスのアクセシビリティ

  25. 25

    Java Webアプリケーションを実行するための単一サーバーのスケーラビリティ

  26. 26

    Spring DataJPA-Java8ストリームのサポートとトランザクションのベストプラクティス

  27. 27

    Java JSONシリアル化-ベストプラクティス

  28. 28

    Javaアプリケーションの別のクラスからユーティリティクラスに宣言されたパブリック最終静的リストにアクセスするにはどうすればよいですか?

  29. 29

    Javaアプリケーションインストーラー

ホットタグ

アーカイブ