Вопрос:
Я создал окно приложения с помощью Java swing. Мне нужно вызвать мой exe файл java с помощью powershell. Приложение 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’)
Я просматриваю черное окно и не вижу ошибок. Окно моей прикладной программы не отображается
Лучший ответ:
Две вещи:
-
Вам нужна опция -jar для Java, как уже отмечал Санджив.
-
Пожалуйста, не пишите PowerShell, как будто это какой-то С# с фанковым синтаксисом. В конце концов, есть командлет Start-Process, если он вам действительно нужен:
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, но.