2016-05-25 62 views
0

我有我想在linux服務器上運行的bccapi-1.2.0.jar文件,但由於其編譯版本而無法運行。 jar文件的在java中更改現有jar文件的編譯版本

編譯版本是jdk1.7這是我從URL下載:http://www.antepedia.com/detail/p/bccapi.html

服務器的JDK是JDK1.5。那麼我怎樣才能用jdk1.5環境重新編譯現有的jar。 當我試圖運行,它給錯誤一樣,

java.lang.UnsupportedClassVersionError: Bad version number in .class file (unable to load class com.lambdaworks.crypto.SCryptUtil) org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2858) org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1159) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1647) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526) java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) com.elitecore.activation.utilities.CryptUtilities.validateScryptPassword(CryptUtilities.java:135) inventory.Application.CUsers.getUserBeanByNameandPassword(CUsers.java:131) inventory.modes.ChkLogin.process(ChkLogin.java:55) inventory.servlet.UserServlet.doPost(UserServlet.java:62) javax.servlet.http.HttpServlet.service(HttpServlet.java:643)

,當我在服務器上執行的jar文件此錯誤發生。

This error occured when i am executing jar file on server

+3

是否有沒有可能更新您的服務器以獲得在過去十年中發佈的JRE? –

+3

如果您下載的jar已經使用jdk1.7編譯,它可能會使用jdk1.5中不存在的特定功能。恐怕您必須將服務器上的jre升級到1.7 –

+0

,這要感謝您的迴應,但現在將無法完成,因爲整個項目及其依賴性都在那裏。所以如果我會做,那麼很多問題可能會發生。 –

回答

0

你應該試着改變你的項目的環境到JDK 1.7,讓您可以使用您的jar文件。

+0

是的,我知道。但我不能做到這一點,因爲在服務器上有多個項目,並且使用jdk1.5運行。所以我害怕做這個解決方案。 –

+0

所以我們不能用不同版本的java重新編譯現有的jar文件。 –

+0

@vimalsuthar對不起我的錯誤,我的意思是你可以將你的項目的環境設置爲jdk1.7,並且應該能夠在服務器上運行。對我來說,我有多個運行在jdk 1.7和1.5上的項目,他們仍然可以在同一臺服務器上運行。 –

0

從這裏下載源代碼:https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/bccapi/source-archive.zip 並嘗試編譯/使用Java 5的庫,也許你將不得不應用一些改變。

+0

感謝您的回覆罐子不知道。我需要lambdaworks.crypto.SCryptUtis.java,但不存在你已經給出的源代碼。我不需要改變現有的代碼,只需要用jdk1.5重新編譯jar文件或代碼。 –

+0

的Java 1.5和1.7有一個稍微不同的字節碼,有些事情發生了變化,如覆蓋批註,切換上串,鑽石,嘗試用資源等 試試這個: - 例如反編譯你的罐子通過cfr http://www.benf。org/other/cfr/ - 創建一個新項目 - 將項目設置爲Java 5項目 - 粘貼反編譯的代碼 - 修復所有錯誤和警告 - 導出您自己的庫。 我不確定在這種情況下的許可證。 – huellif

相關問題