2012-01-14 7 views
2

mvm jettyを起動した後にURLからSWFを起動できない理由を理解しようとしています。WAR記述子と構造を理解する必要があります - WAR内のFlexプロジェクト

プロジェクトが正常にビルドされ、mavenターゲットディレクトリにFalcon-WAR-0.0.1-SNAPSHOT.warが作成されました。このファイルには以下のファイルがあり、Flexプロジェクトからコンパイルされた.swfファイルが含まれています。

enter image description here

私のweb.xmlが非常に簡単で、次のコード含まれています。それはFALCONあるので、自分のアプリケーションのコンテキストルートは、WARのアーティファクトIDと同じである

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns="http://java.sun.com/xml/ns/javaee" 
     xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
     id="WebApp_ID" version="2.5"> 

    <display-name>Falcon Flights</display-name> 

    <welcome-file-list> 
     <welcome-file>Falcon-Flights.swf</welcome-file> 
    </welcome-file-list> 

</web-app> 

を-戦争。

私はMVN桟橋起動する場合:実行を、私はコンソールに次のプリントを得る: enter image description here

私は私のブラウザでhttp://localhost:8080/FALCON-WARに移動しようとすると、私が起動することを期待する場合しかし、私は、以下を得ます.swfファイルをweb.xml定義から削除します。

enter image description here

誰も私が私が間違っているの見きわめる助けてもらえますか?これは、Webコンテナが.war構造をどのように解釈するかを理解することともっと関連していますが、これはWebアプリケーション開発における私の最初のbashであり、やり方でできます!

事前に感謝します。

答えて

1

最終的に私はmvn jetty:run = exploded goalを使用しました。この目標は、WARファイルのビルドディレクトリ(質問テキストの最初のスナップショット)を指し、コンテキストパスが有効であったことを示します。

まだjetty:runが正しく動作していなかった理由はよく分かっていますが、起動しています。助けをFlextrasへ

おかげで...

+0

+1これをあなたの質問の解決策として必ずマークしてください。これは、この質問に来る将来の人々を助けるでしょう。 – JeffryHouser

1

私は桟橋についてよく分かりません。あなたの "出力"で見ているのは、Webサーバーのディレクトリリストのようです。ディレクトリに何か他のものがリストされていますか? Webルートが最初のスナップショットに表示されるディレクトリを指していると確信していますか? [もしそうなら、meta-infディレクトリとfalcon-flightsファイルはどこにありますか?あなたはこれにあなたのURLを変更した場合:あなたは404エラーを与える、またはそれが正しくロードん

http://localhost:8080/FALCON-WAR/Falcon-Flights.swf

していますか?

+0

こんにちは - それは私に404エラーを与えます。しかし、上記のコンソールスナップショットを見ると、コンテキストパスは/ FALCON-WARと宣言されます。だから私は、http:// localhost:8080/FALCON-WARが私をアプリケーションのディレクトリに連れて行くと仮定します。 – totalcruise

+0

このディレクトリには、WEB-INFフォルダだけがリストされています。このリンクをクリックすると、それも空になります。 – totalcruise

+0

@totalcruise Webサーバのパスが正しく設定されていないように聞こえます。間違ったことを指している。私はちょうどそれを修正するように指示する方法を知らない。 – JeffryHouser

0

は、これはあなたのMavenプロジェクトのソースからjetty:run作品。 のターゲットディレクトリのディレクトリリストを表示していますが、SWFがどのようにそこにあるかはわかりません。src/main/webappなどではなく、WARモジュールの依存関係であると思います。

jetty:run-explodedは、ターゲットディレクトリを最初に作成し、そこからアプリケーションを実行します。したがって、これはうまくいくでしょう。

もう1つのオプションはjetty:run-warで、WARをビルドしてそのアプリケーションを実行します。しかし、これはjetty:run-explodedよりも遅くなります。これは、構築ステップが1回少なくなります。

詳細はhttp://docs.codehaus.org/display/JETTY/Maven+Jetty+Pluginを参照してください。

関連する問題