[英]Fixing JRE error in Java code and recompiling application
我嘗試在Windows 7上運行某些依賴於舊JRE版本的舊實用程序。
我安裝了最后一個Java Runtime Environment 1.7.0_79
。 當我啟動應用程序時,出現錯誤:
“ Sivus需要運行JRE 1.4或更高版本。您可以從... etc下載JRE”
是否有解決方法來解決/修復此問題或類似問題? 程序主要可執行文件打包在SFX ZIP歸檔文件中,我提取了文件,並找到Java文件進行檢查。 有一個代碼:
public static boolean checkJavaVersion(){
boolean ok = false;
String version = System.getProperty("java.version");
if (version.indexOf("1.1") > -1) {
ok = false;
}
else if (version.indexOf("1.2") > -1) {
ok = false;
}
else if (version.indexOf("1.3") > -1) {
ok = false;
}
else if (version.indexOf("1.4") > -1) {
ok = true;
}
else if (version.indexOf("1.5") > -1) {
ok = true;
}
return ok;
}
public static void main(String[] args) {
boolean DEBUG = false;
try {
// check if JRE is over 1.4
if (checkJavaVersion() == false){
JOptionPane.showMessageDialog(
null,
"SiVuS requires JRE 1.4 (or later) to run.\n"
+"You can download the latest JRE from java.sun.com",
"Java Run Time Environment Error",
JOptionPane.WARNING_MESSAGE);
System.exit(1);
}
如何解決此問題並再次重新編譯應用程序? 依賴JRE 1.4的應用程序是否可以與當前JRE一起使用?
我正在做這樣的補丁的一個例子。
編譯java文件,例如:
調用“ C:\\ Program Files(x86)\\ Java \\ jdk1.7.0_79 \\ bin \\ javac.exe” C:\\ test \\ mypackage \\ MyClass.java -cp C:\\ test \\ My.jar-源1.4-目標1.4
獲取編譯的類文件並替換舊文件(首先備份它)
首先,我建議不要使用“來源”令人懷疑的舊工具。 特別是,不作為安全掃描程序。 當然,您可以找到比此工具更新,更受支持的工具...
如果您希望繼續(並冒險),那么一種方法是按照@Rustam的建議修改該類,重新編譯並重建JAR文件。
另一種方法是使用main
方法創建一個簡單的包裝器類,該main
方法調用System.setProperty
來調整"java.version"
屬性的值,然后再調用實際的main
方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.