src/main/webapp ディレクトリが Eclipse によって認識されない
-
12-09-2019 - |
質問
私が使う m2eclipse Maven Java プロジェクトを Eclipse にインポートします。
認識に失敗する src/main/webapp
ソースディレクトリとして。
パッケージエクスプローラーでグラフィカルに(または調べたときに) Java ビルド パス プロジェクトのプロパティ内)、
このディレクトリはソース フォルダーのリストにありません (ただし、 src/main/java
または src/main/resources
する)。
これにアクセスするには、src/ ディレクトリを直接調べて展開を開始する必要があります。あまり便利ではありません!
ただし、実行すると maven install
, 、リソースは正しいディレクトリにコピーされます。
(例 : src/main/webapp/index.jsp
に target/mywar/index.jsp
)
質問
- これは正しい動作ですか?(他のリソースとして扱えるかと思ったのですが…)
- 直してもらえますか?
- この状況には、今は気づいていない他の欠点があるのだろうか?
解決
- これは正しい動作ですか?(他のリソースとして扱えるかと思ったのですが…)
- 直してもらえますか?
- この状況には、今は気づいていない他の欠点があるのだろうか?
- はい、私にとってこれは正しい動作です。
- src/main/webapp がソース フォルダーであることは実際には意味がありません。コンパイル可能なソース ファイルが含まれていません。
- わからない。それはあなたの期待次第だと思います:)
とはいえ、m2eclipse は次のことを可能にする貢献をしました。 src/main/webapp
次のような特定の「Web リソース」ラベルを使用して最上位で利用できます。
これはあなたの懸念 (折りたたみが不便である) の解決策になる可能性があります。
他のヒント
限り達人に関しては、src/main/webapp
ビューのm2eclipseの点から、これは正しい動作であるので、それは、内容がtarget/classes
にコピー/コンパイルされていませんだという意味で、ソース・フォルダではありません。あなたはEclipseのソースフォルダとしてマークされるのsrc /メイン/ Webアプリケーションを必要とする特別な理由はありますか?
代わりの展開アセンブリに含めるフォルダとして追加し、Javaのビルド・パスでソースフォルダとして/ srcに/メイン/ Webアプリケーションを追加します:
MyProjectと - >プロパティ - >展開アセンブリ:追加 "/ srcに/メイン/ Webアプリケーションは、"
"/" に展開しますさて、あなただけのEclipseのsrcフォルダなどのsrc /メイン/ Webアプリケーションをマークする必要があります:
右クリックWebアプリケーションフォルダ - >ビルドパス - >ソースフォルダとして使用する
は、あなたが簡単に任意の醜いハックせずにこの動作を変更することができるとは思わない、マーキングSRCはちょうど何かが、それはそのクラスパスなどを設定するために使用する特定のEclipseです。
私の場合、Eclipseは認識できませんでした src/main/webapp
Web リソース フォルダーとして。私はそれを次のように解決しました。
- プロジェクトを削除する
- 日食の再起動
- SVN から Maven プロジェクトの最新の更新を取得します。
一つの解決策は、ビルドヘルパーMavenプラグインのためのM2eサポートを活用してadditioanlリソース・パスとしてのsrc /メイン/ Webアプリケーションを宣言することです。また、これは、ビルドターゲットフォルダ構造に日食コピー保存されたリソースになります。
<!-- help eclipse identify the webapp folder as a resource folder: -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<id>add-resource</id>
<phase>generate-resources</phase>
<goals>
<goal>add-resource</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>src/main/webapp</directory>
<targetPath>${project.build.directory}/${project.build.finalName}</targetPath>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
多くの答えは、JSPファイルがコンテナによってコンパイルおよびビルドサイクル中のMavenされていないので、それがソースフォルダとしてsrc/main/webapp
を持っているSENSをしないことを主張します。
ただし、を作るん感覚のあなたがやっているときのセキュリティテストの
一部のセキュリティスキャンツールは、開発チームは、ローカルに自分のコードをスキャンし、そのマシン上での基本的な脆弱性を修正し、これため、より高度なテストに取り組むことができ、セキュリティのチームのために仕事の量を減らすことができるようなIDEに統合することができるプラグインを提供しています。
Eclipseは、この特定のディレクトリを除外しているという事実は、大きな問題がある。ということで、セキュリティツールは、デフォルトではの(実際の偽陰性になり、スキャンプロセスにwebapp/
ディレクトリを、含まれませんツールによって報告されていない脆弱性)。この動作は、(例えば)そのJSPページは、セキュリティの観点から安全であることを考えることに開発チームをリードしています。
、製品が中に含まれるコードの脆弱性でリリースされる可能性が高いですwebapp/
フォルダます。
このように、この動作は、セキュリティの観点から意味がない、とそれがないと主張する人々は、いくつかのポイントが不足しています。
いずれにせよ、私はsrc/main/webapp/
で、それを右クリックしてビルド・パスにpackage explorer
フォルダを追加することで、この問題を解決 - > build path
- > use as source folder
私はその理由を考えることができます。
私は、EclipseでGWTプロジェクトを開発するためのMavenを使用しています。私の構成では、SRC /メイン/ webappディレクトリは、彼らがいない「コンパイル」のファイルをしているにもかかわらず、私は私の開発努力の一環として参照する必要がHTMLとCSSファイルが含まれています。
SRC /フォルダの中にダイビングとは対照的に、直接に取得することができることはプラスです。そして、それはそのようにセットアップされますように、POMでそれを定義することは、私は手動でフォルダ私は日食実行するたびに追加し続ける必要はありません意味:日食を
ネスターのポイントに、ない冗談。これは、エンドツーエンドの開発環境だけではなく、コンパイラです。これは、POMファイルとしてこのような構成を構築するためにJSPのからのビルドに貢献するすべてのソースアーティファクトのためのインターフェースとして意図されます。なぜ、これらはコンパイルできない場合でも、XMLおよびJSPエディタを持つ気に日食のでしょうか? --Which方法により、超便利です。
Eclipse用のMavenプラグイン(またはその逆)は.classpath、.project、直ちにEclipseでMavenのプロジェクトで作業を開始するために必要な他の構成を構築するための素晴らしいです。しかし、Eclipseの設定が生成されるたびに(即ちMVN日食:日食)は、サポートされていないディレクトリが手動で追加されなければなりません。それは主要な吸うのです。
これらのプラグインを簡単にIDE内から閲覧可能な新しいソースフォルダを追加する機能を無視しているという事実は、私には謎です。一つのmaven / Eclipseプラグインプロジェクトページでも、プロジェクトの種類を切り替えて、プラグインをだますことにより、一時的に利用できるこれらのソースを作るための回避策を挙げている - もちろん、あなたが戻ってすぐにそれを変更したり、破損してビルドする必要があります。
。なぜ彼らはただ独立??? .classpathでソース宣言を制御する機能を作成しません。
私は、私が直面したのと同じ問題の全体の異なる理由を発見した - 私は、パッケージエクスプローラでのsrc /メイン/ Webアプリケーションは表示されません。
それは(SpringSourceのスイート3.5.0を使用して)、POMまたはEclipseのいずれかがMavenプロジェクトをロードすることができることとは何の関係もなかったが判明ます。
問題は、私のsrc /メイン/ webappの/スクリプト/フォルダ内の.gitと.gitignoreファイルがあったということでした。私は、Eclipseをして初めのファイル名を扱うことができなかったことかもしれない疑いがあります「」 Webアプリケーションのフォルダにあります。私は複数のプロジェクトでこの理論をテストし、これまでに地面を保持するように思われます。
私はこのことができます願っています。