2009-07-01 2 views
3

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 
+0

NoClassDefFoundError는 java.exe가 클래스가있는 디렉토리 또는 패키지 구조의 루트에서 호출되기를 기대하기 때문에 발생합니다. PowerShell 부분에 대해서는 잘 모릅니다. –

답변

5

나는 그것을 마침내 발견했습니다.

cd c:\ 
set-item -path Env:CLASSPATH -value C:\Test 
"CLASSPATH = $Env:CLASSPATH" 
java.exe -classpath $Env:CLASSPATH HelloWorldApp 

클래스 이름을 지정할 때 클래스 이름의 접두어를 절대 경로로 포함 할 수 없습니다. 죄송합니다.

관련 문제