나는 어떤 환경에서 지정하는 HTTP 프록시를 필요로 예를 들어 Java 응용 프로그램을 가지고있다.
온 제안 내가 인수를 사용하여이 작업을 실행하려고 할 때 오라클 웹 사이트 CMD (명령 프롬프트)에서 잘 작동합니다.
E:\>java -Dhttp.proxyHost=http://proxy.example.com -jar myJAR.jar
System properties...
[...]
http.proxyHost=http://proxy.example.com
당신은 응용 프로그램이 실행 된 것을 볼 수 있고, 시스템 등록 정보를 나열 할 때 올바르게 수신 있어요 http.proxyHost
속성을.
내가 파워 쉘에서 이것을 실행할 때, 나는 다음을 얻을 :
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
Try the new cross-platform PowerShell https://aka.ms/pscore6
PS E:\> java -Dhttp.proxyHost=http://proxy.example.com -jar myJAR.jar
Error: Could not find or load main class .proxyHost=http:..proxy.example.com
여기가 파괴 어떤 종류의 최초의 주위에 발생 나타납니다 "." 그리고 다음부터 또 다른 인수로 나머지를 처리됩니다.
인수가 인용 된 경우 - 예 -D"http.proxyHost"=http://proxy.example.com
- 다음은 PowerShell에서 잘 작동합니다.
누구든지이 문제를하시기 바랍니다 설명 할 수 있습니까?
불행하게도, 당신이보고있는 버그 PowerShell의를 여전히 V7.0의로 제시한다 :
매개 변수처럼 보이는 뭔가 PowerShell을에가 로 고장 이 개 상기 인수 .
인수는 단순히한다하더라도 - (기간) 를 통해 전달 된 외부 프로그램이라고합니다 주어진 - 볼 이 GitHub의 문제 ; 귀하의 경우, -Dhttp.proxyHost=http://proxy.example.com
로 예기치 않게 전달 -Dhttp .proxyHost=http://proxy.example.com
합니다 (이전 공간주의 .
)
두 가지가 있습니다 해결 방법 :
견적
.
사용하여 문자를'.'
:java -Dhttp'.'proxyHost=http://proxy.example.com -jar myJAR.jar
같이 다른 방법으로, 세르게이 슈의 대답은 , 사용
--%
의 정지 구문 분석 기호 , PowerShell에서의 일반적인 구문 분석 규칙을 적용하지 않고 통해 모든 인수를 전달하는 PowerShell을 강제로.- 주의 : 의 사용은
--%
주요 부작용 , 사용하기 특히 수없는 변수 참조 명령 및 적용 할 수 없다는에서 리디렉션 - 볼 이 답변 세부 사항을.
- 주의 : 의 사용은