2012-01-14 54 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中是非常简单的,包含以下代码:

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

我的应用程序的上下文根是一样的WAR的工件ID,所以它是FALCON -战争。

当我启动命令mvn码头:运行,我得到以下打印到控制台: enter image description here

然而,当我尝试导航到http://localhost:8080/FALCON-WAR在我的浏览器中,我得到以下,当我想到启动web.xml定义中的.swf文件。

enter image description here

谁能帮我参透我做错了吗?这可能与我理解Web容器如何解释.war结构有关 - 但这是我在Web应用程序开发中的第一次尝试,可以轻轻松松地完成!

非常感谢提前。

回答

1

最终我使用了mvn jetty:run = exploded goal。此目标指向WAR文件的构建目录(问题文本中映像的第一个快照),然后上下文路径有效。

不知道为什么jetty:run不能正常工作 - 但我已经正常运行。

感谢Flextras您的帮助...

+0

+1请务必将其标记为您的问题的解决方案。这将有助于解决这个问题的未来人士。 – JeffryHouser 2012-01-17 17:58:35

1

我对Jetty了解不多,但是您在“输出”中看到的内容看起来像是Web服务器目录列表。目录中是否还有其他内容?你确定web根目录指向你在第一个快照中显示的目录吗? [如果是这样,meta-inf目录和falcon-flights文件在哪里?如果你改变你的网址,这是什么:

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

这是否给你一个404错误,或是否正确加载?

+0

嗨 - 是的,这确实给了我一个404错误。但是,如果您查看上面的控制台快照,它会将上下文路径声明为/ FALCON-WAR。所以我假设http:// localhost:8080/FALCON-WAR会带我到应用程序的目录。 – totalcruise 2012-01-15 11:23:01

+0

此目录中没有任何内容,只是WEB-INF文件夹。当我点击这个链接时 - 它也是空的。 – totalcruise 2012-01-15 11:29:27

+0

@totalcruise它听起来像Web服务器的路径配置不正确;并指出错误的事情。我只是不知道如何告诉你解决它。 – JeffryHouser 2012-01-15 14:25:43

0

这是因为从你的Maven项目的jetty:run作品。尽管你已经显示目录列表目标,但你的SWF如何到达那里并不明显 - 我猜测它是WAR模块的依赖,而不是在src/main/webapp或类似的地方。

jetty:run-exploded先建立目标目录,然后从那里运行应用程序。所以这会更好。

另一种选择是jetty:run-war,它构建WAR并从中运行应用程序。但是,这将比jetty:run-exploded慢,这需要更少的构建步骤。

查看http://docs.codehaus.org/display/JETTY/Maven+Jetty+Plugin了解更多详情。