0

Eclipse(EE Helios SR 1)でマルチモジュールのMavenWebアプリを実行しようとしています。NetBeansでは、実行ボタンをクリックするだけです。しかし、ここではおそらくもう少し複雑です。

プロジェクトのwarモジュールのサーバーとしてTomcat7.0.26を追加しました。アプリを実行しようとするとServers、ウィンドウの一部に表示されますApache Tomcat v.7.0.26 at localhost [Started, Synchronized]が、ブラウザーが反応しません。アプリの実行中にシステムブラウザにページを表示する必要がありますか?

localhost:8080サーバーの起動時にと(2番目はアプリで処理する必要があります)に移動しようとしましlocalhost:8080/welcome.htmlたが、どちらも404エラーが発生しました。また、に新しいフォルダが表示されませんでしたapache-tomcat-7.0.26/webapps/。アプリケーションを実行するときに、Eclipseはプロジェクトをそこに配置する必要がありますか?誰かが私がここで欠けているものを教えてくれたら本当にありがたいです。

4

3 に答える 3

1

指定されていない場合、Tomcat と Eclipse の統合はデフォルトで .metadata の特定のフォルダーにデプロイされます。私の場合は次のようになります。 ~/workspace/<my_project_workspace_name>/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/

その後、すべての戦争はフォルダーに解凍されます。あなたのmaven pom.xmlの場合、

<build>
    <finalName>myapp</finalName>
</build>

次に、Tomcat に次のようにデプロイされます。

localhost:8080/myapp/welcome.html
于 2012-04-30T12:24:11.310 に答える
0

Maven プロジェクトは、Web アプリケーション ファセットを含むプロジェクトとは異なります。フォルダー構造が異なるため、Maven アプリを Web アプリとして直接実行することはできません。アプリケーションを Eclipse から直接実行するには、Maven プロジェクトに Web アプリケーションの性質を追加してみてください [.project および .classpath ファイルの変更と他のいくつかのファイルの追加を含む複雑な変更]。それに応じて pom.xml ファイルを変更することをお勧めします

于 2012-04-30T12:08:23.907 に答える
0

私は、Eclipse で Web サーバーを実行する際に、多くの悪い経験をしてきました。ほとんどの場合、これは信頼できないクラス/リソースのリロードに関連していました。

私の解決策は、 Jettyを新しいモジュールでアプリに追加することでした( Embedding Jettyを参照)。これは基本的に私の Web アプリを Java アプリケーションに変え、ほとんどの問題を回避します。また、アプリをリロードする必要があるときにフィルター (Java で記述) を指定することもできます。

これにより、クラスのリロードに関するすべての問題が解決され (クラスとリソースはどこにもコピーされず、Eclipse の bin フォルダーから読み込まれます)、起動がはるかに高速になり (起動時間が数分から 15 秒に短縮されました)、信頼性が高くなります。

于 2012-04-30T12:14:28.583 に答える