我有一個多模塊Maven項目(約10個模塊),其中2個模塊是Flex項目及其相應的服務器項目,通過BlazeDS進行通信。Flex + BlazeDS +多模塊maven項目
服務器模塊依賴於另一個包含公共事物的模塊,在整個項目中共享。使用公共模塊中的對象時,對象不會被序列化並通過AMF發送到SWF。服務器模塊中的所有內容都是序列化的並且工作正常,但來自公共模塊(服務器端具有有效值)的對象不會發送到客戶端。
我正在使用Flexmojos來構建它。我需要做些什麼來使公共項目中的類可用於序列化,並且能夠在我的swf項目中將它們用作RemoteClass對象?
的基本結構與此類似(I一直如此簡化它相當多的):
SWF模塊(柔性):
類MyObject.as:
package swf.model {
[RemoteClass(alias="server.model.MyObject")]
public class MyObject {
public var name:String;
public var common:MyCommonObject;
}
}
類MyCommonObject.as:
package swf.model {
[RemoteClass(alias="common.model.MyCommonObject")]
public class MyCommonObject {
public var commonNumber:Number; }
}
服務器模塊(爪哇):
類MyObject.java:
package server.model;
import common.model.MyCommonObject;
public class MyObject {
private String name;
private MyCommonObject common;
public MyObject() {}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public MyCommonObject getCommon() {
return common;
}
public void setCommon(MyCommonObject common) {
this.common= common;
}
}
共模塊(爪哇)
類MyCommonObject.java:
package common.model;
public class MyCommonObject{
private Double commonNumber;
public MyCommonObject() {}
public Double getCommonNumber() {
return commonNumber;
}
public void setCommonNumber(Double commonNumber) {
this.commonNumber= commonNumber;
}
}
你能分享你的pom.xml嗎?我目前正在努力修復一個flex項目,並且像你一樣面對一些困難。 – 2013-10-08 10:07:15
對不起,無法共享pom.xml,因爲它包含許多不應公開的內容。這個特定的問題是通過不重新調用MyCommonObject.as類中的common.model.MyCommonObject來解決的。相反,我在server.model中創建了common.model.MyCommonObject的子類,並將其從Actionscript轉換爲該子類。 – thorseye 2013-10-08 13:24:10
感謝您回覆我。在漫長的工作之路上,我忘記了爲我解決了這個問題,但我確信我沒有正確的罐子/依賴關係。 – 2013-11-04 16:35:33