我使用Java swing创建了一个应用程序窗口。我需要使用powershell调用我的java exe文件.Java应用程序是使用java swing完成的。我已经将Java应用程序导出到jar文件中了。当双击exe文件时,我得到输出执行..我的powershell代码是这个
$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')
我在显示一个黑色的窗口,没有错误..我的应用程序窗口没有显示
答案 0 :(得分:0)
两件事:
正如Sanjeev已经指出的那样,你需要Java的-jar
选项。
请不要编写PowerShell,就好像它是某种带有时髦语法的C#一样。毕竟,如果你真的需要它,可以使用Start-Process
cmdlet:
Start-Process -FilePath java.exe -ArgumentList -jar,D:\Swing.jar,-classpath,$Env:CLASSPATH -NoNewWindow
在这种情况下你可能没有,所以下面的内容也应该可以正常工作(请记住,PowerShell是一个shell,因此名称;运行程序非常简单):
java -jar D:\Swing.jar -classpath $Env:CLASSPATH
如果您不想拥有控制台输出,请使用javaw
代替java
。然而,控件将立即返回到PowerShell,然后。