この構造に従うMavenのWebアプリケーションがあります。
src
`-- main
|-- java
|-- resources
`-- webapp
それをメインフォルダーに配置する方が良いですか?その後、mavenプラグインがそれを移動しようとしますか、それともwebappフォルダー内に配置する必要がありますか?なぜですか?
この構造に従うMavenのWebアプリケーションがあります。
src
`-- main
|-- java
|-- resources
`-- webapp
それをメインフォルダーに配置する方が良いですか?その後、mavenプラグインがそれを移動しようとしますか、それともwebappフォルダー内に配置する必要がありますか?なぜですか?
CSS および JS ファイルをフィルタリングする必要がない場合は、単純にそれらを入れますsrc/main/webapp
(それらを に入れるとsrc/main/resources
、最終的に WAR に入れられてしまいますが、これはあなたが望むものではありません)。それらをフィルタリングする必要がある場合は、パラメーターを使用して追加のリソースを WAR に含めることができます。詳細については、外部 Web リソースの追加とフィルタリングを参照してください。target/classes
WEB-INF/classes
webResources
私は彼らが下にあるべきだと思いますsrc\main\webapp
。これを言う主な理由は、これがMaven によって提案された標準であり、Maven の哲学は、すべてのプロジェクトが可能な限り同じ構造に従うべきであるということです。
Introduction to the Standard Directory Layoutから引用:
「アーティファクト ビルドに貢献する他のソースがある場合、それらは他のサブディレクトリの下にあります。たとえばsrc/main/antlr
、Antlr 文法定義ファイルが含まれます。」
だから私は思うsrc/main/javascript
しsrc/main/css
、適切な場所です...
どう思いますか?
この質問に対するさまざまな回答が見られます。スレッドの 1 つのセット (このスレッドの一部の人のように) は、Maven アプリが css/images/js ファイルを src\main\webapp フォルダーに配置する必要があると考えているようです。これは、従来の J2EE パターンと同様です。代わりに、webapps の外部にあるリソース (または別の同様のピア) フォルダーを使用する必要があると考える人もいます。
Maven Web プロジェクトの JSP、JavaScript、CSS、画像の従来の場所は何ですか?
私はまだ意見を述べていませんが、これらのクライアント側のタイプのファイルをサーバー側から分離することは理にかなっているように思われます - 高性能に重点を置いた生産状況では、これらのような静的なクライアント側のファイルは通常分離されているためです。いずれにせよアクセスを高速化するために、キャッシュ可能なフロント エンド Web サーバーに配置されるため、それらを独自の個別のリソース フォルダーに保持すると、この作業が容易になるようです。