설정이 시스템 속성에 들어가야하고 Java 클래스 라이브러리의 관련 부분이 초기화되기 전에 설정이 있어야합니다.
이렇게하는 "폭탄 증거"방법은 설정을 JVM에 명령 줄 매개 변수로 전달하는 것입니다. 예 :
java -Djava.net.preferIPv6Addresses=true ... com.example.MainClass <args>
또한
System.setProperty("java.net.preferIPv6Addresses", "true");
사용하여 설정을 주입하는 응용 프로그램을 코딩 할 수 있지만 주입 1 곧 일어나는 것을 확인해야합니다, 그것은 사소한하지 않을 것입니다.
1 - "충분히 빨리"는 JVM 네트워킹 코드의 정적 초기화가 발생하기 전에 의미합니다. 이것은 복잡한 응용 프로그램에서 달성하기가 어려울 수 있습니다. Network Properties 설명서에 "일부는 VM 시작시 한 번만 검사되므로 은 java 명령의 -D 옵션을 사용하여으로 설정하는 것이 가장 좋습니다." 이러한 속성은 그 방법으로 만 설정할 수 있다고 명시하지 않습니다.
일부 응용 프로그램에 대해 작동합니다 JAVA_OPTS
환경 변수를 사용하는 제안. 그것은 응용 프로그램의 실행기/래퍼 스크립트가 무엇을하는지에 달려 있습니다. 표준 java.exe
및 javaw.exe
명령 확실히 내가 한 번도 본 적이 없다 하나입니다 동일 _JAVA_OPTIONS
적용 $JAVA_OPTS
에 대한 관심을 ... 지불하지 않습니다.
에서 나는 명령 프롬프트에서이를 넣어 시도했지만 그 내부 또는 외부 명령, 실행할 수있는 프로그램, 또는 배치 파일로 인식되지 않는 오류 - -Djava.net.preferIPv6Stack '가 발생합니다. – user27
'java' 명령 *에 대한 매뉴얼을주의 깊게 읽어보십시오. '-D' 옵션은 올바르게 사용하면 작동합니다. 내 케이스에 –
수동 입력이 작동하지 않거나 제대로 작동하지 않을 수 있습니다. thnkx – user27