![](/img/trans.png)
[英]Java Selenium Run through Command Prompt CMD Windows Without IDE
[英]Run JAVA 8 jar on windows without command prompt
這是一個簡單的Hello World測試應用程序。
import java.io.IOException;
public class Main {
public static void main(String[] args) {
System.out.println("Hello World!");
try {
System.in.read();
} catch (IOException e) {
System.out.println("IOException : "+e.getMessage());
}
}
}
它在Eclipse中導出為“Runnable JAR File”。
在命令提示符下使用java -jar hello.jar
打開它。
但是,當嘗試使用雙擊打開它時,沒有任何反應。
注1:Java Platform是與此類型關聯的默認程序。
注2: java -version
java版“1.8.0_60”
Java(TM)SE運行時環境(build1.8.0_60-b27)
Java HotSpot(TM)64位服務器VM(內置25.60-b23,混合模式)
問題雙擊不執行命令行JAVA 8 jar文件。 我怎么解決呢?
如果雙擊*.jar
它實際上是以javaw -jar Hello.jar
開頭的。 java.exe
和javaw.exe
之間的區別在於javaw
沒有關聯的控制台窗口。 由於您的測試應用程序未顯示任何GUI元素,因此它看起來像是不會被執行。
根據您要實現的目標,您可以創建一個腳本來運行您的應用程序,也可以創建一些圖形界面。
從文件資源管理器執行JAR時,沒有shell可以將文本輸出寫入。 當您從命令行運行它時,它已經包裝在shell中,因此System.out
流已經設置為shell的輸出流,因此print語句是可見的。
最簡單的實際解決方案是創建一個執行java -jar hello.jar
命令的批處理文件,該命令將在文件資源管理器中打開命令窗口時啟動它。
另一種解決方案是使用Runtime.exec()
從Java應用程序中啟動cmd.exe
上下文,並將輸出流設置為與它返回的進程對象相同。
最優雅的解決方案,但需要更多后台工作的解決方案,是在JScrollPane中實例化一個由JFrame和JTextArea組成的簡單GUI,然后將輸出附加到文本區域。
您的jar可能正在使用javaw.exe打開。 您可以通過執行命令來驗證
ftype | find "jarfile"
如果它顯示為javaw.exe
ftype jarfile="C:\Program Files\Java\jdk1.8.0_45\jre\bin\javaw.exe" -jar "%1" %*
將其更改為java.exe
ftype jarfile="C:\Program Files\Java\jdk1.8.0_45\jre\bin\java.exe" -jar "%1" %*
我試過,它對我有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.