我正在爲一家變化緩慢的大公司工作。我們正在部署到一個Weblogic 10.2環境,並停留在java 1.5。這對於GWT庫來說並不是問題,但我們已經下載的gwt-maps-3.0.2b.gwt22.jar的下載版本是用1.6編譯器構建的。有誰知道1.5版本是否可用?如何獲得與java 1.5編譯器兼容的gwt-maps-3.0 api jar
唉,是否有可能用1.5編譯器重新編譯,因爲源代碼在jar裏?如果是這樣,有沒有人有一個構建腳本來做到這一點?
- 一些附加信息 我們正在嘗試升級一些現有的代碼,這是他們遇到的第一個錯誤。他們得到的編譯錯誤是: o錯誤:「類文件有錯誤的版本50.0,應該是49.0」
我使用以下方法檢查了jar文件。
內置下面的程序:
進口java.io. *;
公共類CheckVersion {
公共靜態無效的主要(字串[] args)拋出IOException異常{
對(INT I = 0;我< args.length; ++ⅰ){
checkVersion(參數[I ]);
}
}private static void checkVersion(String classFileName) throws IOException { DataInputStream in = new DataInputStream(new FileInputStream(classFileName)); int magicNo = in.readInt(); if (magicNo != 0xCAFEBABE) { System.err.println(classFileName + " is not a valid class file name"); return; } int minor = in.readUnsignedShort(); int major = in.readUnsignedShort(); System.out.println(classFileName + ": " + major +"." + minor); in.close(); }
}
提取的jar文件例如。 「罐子xvf命令GWT-maps3-0.2b.jar」
- 運行以下命令: 「找到-name的* .class | xargs的java的CheckVersion |切-d ':' -f2 |排序-u」
一些附加信息: –
3.8預發佈的重新編譯文件具有1.5或更高的編譯器要求,但也使用1.6編譯器構建。 –
我能夠最終得到這個工作,但我不得不修改源刪除1.6註釋。盡我所能說,這並沒有引起任何問題。 –