2017-06-26 112 views
0

我正在使用IDL編譯Java類。當我嘗試編譯時,它說它不識別valuetype。以下是編譯命令,答案和相關代碼:IDL編譯器無法識別值類型

「C:\ Program Files文件\的Java \ jdk1.8.0_121 \ BIN \ idlj.exe」 -fall StockMarket.idl

預計typedef'結構的一個」 union'枚舉 'const'異常' readonly'屬性 'oneway'浮動' double'長 'short'無符號' char' WCHAR 'boolean'八位字節' any'字符串 'wstring' '::'無效' ValueBase'; encountered值類型'。 值類型StockInfo {

模塊股市{

exception UnknownSymbol { 
    string symbol; 
}; 

typedef string StockSymbol; 

typedef sequence<StockSymbol> StockSymbolList; 

interface StockServer { 
    float getStockValue(in StockSymbol symbol) raises (UnknownSymbol); 

    StockSymbolList getStockSymbols(); 

    valuetype StockInfo { 
     public StockSymbol name; 
     public float value; 

     string toString(); 
    }; 

    sequence<StockInfo> getStockInfo(); 
}; 

};

+0

發佈您正在編譯的接口。 – duffymo

+0

我無法看到整個界面是如何必要的,但肯定。 – Hiken

回答

0

顯然,valuetypes的定義必須在接口之外。打敗我,爲什麼。