2014-07-17 76 views
0

我已經使用Java swing創建了一個應用程序窗口。我需要使用powershell調用我的java exe文件.. Java應用程序使用java swing完成..我已經將Java應用程序導出到jar文件。當雙擊exe文件時,我得到輸出執行..我的powershell代碼這是如何使用PowerShell調用java的exe文件?

$psi = new-object System.Diagnostics.ProcessStartInfo 
$psi.CreateNoWindow = $true $psi.UseShellExecute = $false 
$psi.FileName = 'java.exe' $psi.Arguments = 
@("-classpath","$Env:CLASSPATH","D:\") 
[System.Diagnostics.Process]::Start($psi) set-item -path Env:CLASSPATH 
-value :\D:\ "CLASSPATH = $Env:CLASSPATH" [Diagnostics.Process]::Start('java.exe','-classpath $Env:CLASSPATH 
D:\Swing.jar') 

我geeting顯示一個黑色的窗口,並沒有錯誤..不顯示我的應用程序窗口

回答

0

兩件事情:

  1. 您需要-jar選項去渣,正如Sanjeev已經指出的那樣。

  2. 請不要編寫PowerShell,就好像它是某種帶有時髦語法的C#一樣。有一個Start-Process cmdlet的,畢竟,如果你真的需要它:

    Start-Process -FilePath java.exe -ArgumentList -jar,D:\Swing.jar,-classpath,$Env:CLASSPATH -NoNewWindow 
    

    在這種情況下,你可能不這樣做,所以下面應該工作一樣好(記住,PowerShell是一個外殼,故名;正在運行的程序是很容易的):

    java -jar D:\Swing.jar -classpath $Env:CLASSPATH 
    

如果你不想讓控制檯輸出,然後用javaw代替java。儘管如此,控件將立即返回到PowerShell。

+0

我正在使用swing在java中創建彈出式窗口。我需要使用PowerShell來獲取網站的詳細信息,並將其顯示在彈出窗口中。我怎麼能做到這一點? – sangeeta