Question

J'essaie de comprendre pourquoi je ne parviens pas à lancer un SWF à partir de l'URL après avoir lancé mvm jetty: run sur mon projet.

Le projet a été construit avec succès et a produit un Falcon-WAR-0.0.1-SNAPSHOT.war dans le répertoire cible de maven. Dans ce fichier se trouvent les fichiers suivants - et inclut le fichier .swf compilé à partir du projet Flex.

entrez la description de l'image ici

Mon web.xml est très simple et contient le code suivant:

<?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>

La racine de contexte de mon application est la même que l'ID d'artefact de WAR, c'est donc FALCON-WAR.

Lorsque je lance mvn jetty: run, j'obtiens l'impression suivante sur la console: entrez la description de l'image ici

Cependant, lorsque j'essaye d'accéder à http:// localhost: 8080 / FALCON-WAR sur mon navigateur, j'obtiens ce qui suit, lorsque je prévois de lancer le fichier .swf à partir de la définition web.xml.

entrez la description de l'image ici

Quelqu'un pourrait-il m'aider à comprendre ce que je fais mal? Cela pourrait me permettre de mieux comprendre comment les conteneurs Web interprètent les structures .war - mais c'est ma première visite au développement d'applications Web et cela pourrait faire avec un coup de pouce!

Merci d'avance.

Était-ce utile?

La solution 2

J'ai finalement utilisé la jetée mvn: run= objectif explosé.Cet objectif pointe vers le répertoire de construction du fichier WAR (le premier instantané de l'image à partir du texte de la question) et le chemin du contexte était alors valide.

Je ne sais toujours pas pourquoi la jetée: run ne fonctionnait pas correctement - mais je suis opérationnel.

Merci à Flextras pour l'aide ...

Autres conseils

Je ne connais pas grand-chose à Jetty;mais ce que vous voyez dans votre "sortie" ressemble à une liste de répertoires de serveur Web.Y a-t-il autre chose répertorié dans le répertoire?Êtes-vous sûr que la racine Web est pointée vers le répertoire que vous affichez dans votre premier instantané?[Si oui, où se trouvent le répertoire meta-inf et le fichier Falcon-Flights?Que faire si vous modifiez votre URL comme suit:

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

Cela vous donne-t-il une erreur 404 ou se charge-t-il correctement?

En effet, jetty:run fonctionne à partir de la source de votre projet Maven.Bien que vous ayez montré une liste de répertoires de la cible , il n'est pas évident de savoir comment votre SWF est arrivé là-bas - je suppose que c'est une dépendance de votre module WAR, plutôt que contenue dans src/main/webapp ou similaire.

jetty:run-exploded construit d'abord le répertoire cible, puis exécute l'application à partir de là.Par conséquent, cela fonctionnerait mieux.

Une autre option est jetty:run-war, qui construit le WAR et exécute l'application à partir de celui-ci.Cependant, cela sera plus lent que jetty:run-exploded, qui nécessite une étape de construction en moins.

Voir http://docs.codehaus.org/display/JETTY/Maven+ Jetty + Plugin pour plus de détails.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top