Windows Powershell 2.0에서 Java 프로그램을 실행하는 데 문제가 있습니다. 이에 대한 도움을 주시면 대단히 감사하겠습니다. 문자열을 원합니다. "Hello World!" 주 Powershell 콘솔 창에 인쇄 할 수 있습니다. 대신, 열려있는 별도의 프로세스 창에 인쇄되어 이 갑자기 닫힙니다. 나는 생성 된 자바 프로세스의 표준 출력을 현재의 powershell 콘솔로 리다이렉트하도록 powershell에 지시하는 방법을 정확히 모른다. 기본적으로, 나는 DOS 쉘에서 java를 실행할 때 얻는 것과 같은 동작을 원한다.Windows Powershell에서 Java 프로세스를 호출하려면 어떻게해야합니까?
내 테스트 클래스는 다음과 같습니다
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!"); //Display the string.
}
}
내 PowerShell을 2.0 코드는 이것이다 :
set-item -path Env:CLASSPATH -value C:\Test
"CLASSPATH = $Env:CLASSPATH"
[Diagnostics.Process]::Start('java.exe','-classpath $Env:CLASSPATH C:\
Test\HelloWorldApp')
는 다른 방법으로, 내가 지금처럼 실행하려고, 내가 정기적 DOS 셸에서와 같은 출력이 같은 콘솔에 표시되기를 바랍니다.
java.exe -classpath $Env:CLASSPATH C:\Test\HelloWorldApp
ca 오류를 사용합니다. 마찬가지로 지금까지 PCEX이 (http://pscx.codeplex.com가) echoargs cmdlet을 알려줍니다 무엇을 여기에 있기 때문에, 내 인수가 올바른지 말할 수
PS >C:\Test\Test.ps1
CLASSPATH = C:\Test
java.exe : java.lang.NoClassDefFoundError: C:\Test\HelloWorldApp
At C:\Test\Site.ps1:3 char:5
+ java <<<< -classpath $Env:CLASSPATH C:\Test\HelloWorldApp
+ CategoryInfo : NotSpecified: (java.lang.NoCla...e\HelloWorldApp:
String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
Exception in thread "main"
: :이 오류가
PS >echoargs java.exe -classpath $Env:CLASSPATH C:\Test\HelloWorldApp
Arg 0 is <java.exe>
Arg 1 is <-classpath>
Arg 2 is <C:\Test>
Arg 3 is <C:\Test\HelloWorldApp>
임 확신이있는 이 코드가 작동하기 때문에 방법은 작업이 얻을 : 또한
## Test.ps1
cd C:\PSJustice
java.exe -classpath . HelloWorldApp
이 작동 :
cd C:\
java.exe -classpath C:\Test HelloWorldApp
NoClassDefFoundError는 java.exe가 클래스가있는 디렉토리 또는 패키지 구조의 루트에서 호출되기를 기대하기 때문에 발생합니다. PowerShell 부분에 대해서는 잘 모릅니다. –