flex3eclipse插件和wtp的一个小问题

今天新建一个web项目,添加flex特性,配置好各个文件。然后发现RemoteObject的路径不对。

远程对象请求的地址http://localhost:8080/WebContent/messagebroker/amf. 中间是WebContent而不是项目名称。

 

 打开services-config.xml,路径中有context.root啊。

<channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel">
            <endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/amf" class="flex.messaging.endpoints.AMFEndpoint"/>
        </channel-definition>

 项目的flex属性的context root不知道我没注意弄错了,还是默认的是WebContent,然后改成项目名称,重启,clean,build,okay。

不过开始一直不行,没办法,调试,从RemoteObject开始追,找配置的地方,追到ServerConfig类,前面的注释说配置xml在编译的时候生成,郁闷鸟。

写道
The XML source is provided during the compilation process.

 

编译器参数加上 -keep-generated-actionscript,看看生成的as文件啥样。

果然,在项目的_项目名FlexInit-generated.as文件的最后面,发现了ServerConfig.xml的定义。

 

ServerConfig.xml =
<services>
	<service id="remoting-service">
		............

 而且编译器把WebContent\WEB-INF\flex下的4个xml配置文件中客户端用的信息都提出来了,放在这里。

 

试验时,一次flex的输出路径改成WebContent,然后觉得不爽,又改成bin-debug, 发现flex插件竟然把整个WebContent都删掉了。我靠,是它太白痴还是我太白痴,所有的非flex的资源,网页,jar包,都在这里。幸亏有备份。

 

-----------------------------

 

然后刷新,clean,build发现bin-debug中的swf就是不会被部署到服务器目录下。ft,在eclipse中找啊找,啥也没有找到。怎么都无法同步到服务器。

 

翻翻项目目录的哪些东西,发现wtp的部署选项在web项目下的.settings/org.eclipse.wst.common.component文件中,如下,deploy-path是服务器contextpath路径,source-path是相对于项目的根路径。要部署项目里的哪个目录到服务器端,添加一个配置项即可。

 

<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="USERMANAGEFlex">
<wb-resource deploy-path="/" source-path="/WebContent"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
<wb-resource deploy-path="/" source-path="/flex_src"/>
<wb-resource deploy-path="/" source-path="/bin-debug"/>
<property name="java-output-path"/>
<property name="context-root" value="USERMANAGEFlex"/>
</wb-module>
</project-modules>

 

你可能感兴趣的:(eclipse,xml,Web,Flex,actionscript)