기본적으로 나는이 질문. 그러나 제안된 솔루션은 Win2003 서버나 테스트에 사용되는 Win7 랩톱에서는 작동하지 않습니다.
ActiveX-bridge dll을 통해 .Net 프로그램으로 시작되는 Java SE 6 프로그램이 있습니다. 테스트를 위해 3개의 JRE가 설치된 Win7 컴퓨터를 사용했습니다. jdk1.7.0_55, jre1.6.0_45 및 jre1.6.0_38-x64. 애플리케이션은 항상 jre1.6.0_45를 사용하고 최대 95040KB의 메모리로 시작하지만 약간 더 많은 메모리가 필요합니다.
메모리를 늘리는 방법은 파일을 편집 <userprofile>\AppData\LocalLow\Sun\Java\Deployment\deployment.properties
하고 다음 줄을 추가하는 것입니다.
deployment.javaws.jre.1.args=-Xmx100m
하지만 문제는 이것이 한 명의 사용자에게만 작동하고 서버의 모든 사용자에게 작동하기를 원한다는 것입니다.
에서 논의한 바와 같이이 답변C:\Windows\Sun\Java\Deployment\deployment.config
내용이 포함된 파일을 만들었습니다.
deployment.system.config=file\:C\:/Windows/Sun/Java/Deployment/deployment.properties
그런 다음 내 사용자 프로필의 배포.속성 파일을 폴더에 복사 하고 복사된 파일에 해당 줄을 C:\Windows\Sun\Java\Deployment\
다시 추가했습니다 . deployment.javaws.jre.1.args=-Xmx100m
그러나 이상하게도 이것은 작동하지 않습니다.
지금까지 시도한 것:
사용된 JRE(D:\Java\jre1.6.0_45\lib) 및 최신 JRE(D:\Java\jdk1.7.0_55\jre\)의 lib 폴더에 배포.config 및 배포.properties 파일 배치 라이브러리)
JRE가 하나만 설치된(v1.6.0_11) (가상) Win2003 서버의 C:\Windows\Sun\Java\Deployment 폴더에 파일 배치
행을 추가
deployment.javaws.jre.0.args=-Xmx100
하면deployment.javaws.jre.2.args=-Xmx100
설치된 모든 JRE가 동일한 설정을 사용하게 됩니다.배포.config 파일에 두 번째 줄을 추가
deployment.system.config.mandatory=true
하고 배포.properties 파일의 경로를 존재하지 않는 경로로 변경했습니다. -> 아무 일도 일어나지 않았고 응용 프로그램이 제대로 시작되었으므로 배포.config 파일이 완전히 무시되는 것 같습니다. JRE.
내가 어디로 잘못 가고 있는지 아는 사람이 있습니까?
답변1
file\:C\:/Windows/Sun/Java/Deployment/deployment.properties
그게 유효한지 확실하지 않습니다Windows 파일 URI.오라클 문서약간 다르고 더 그럴듯한 것을 나열합니다.file:///C:/Windows/Sun/Java/Deployment/deployment.properties
deployment.system.config.mandatory
설정 을 시도True
하고 앱이 시작되지 않는지 확인하세요. 실패하면 JAVA가deployment.config
URI로 액세스할 수 없으며 수정이 필요하다는 의미입니다.배포.system.config.mandatory 속성은 부울입니다.true로 설정된 경우, development.system.config 특성이 가리키는 배포.properties 파일을 찾아서 성공적으로 로드해야 하며, 그렇지 않으면 아무것도 실행할 수 없습니다.속성이 false로 설정된 경우 배포를 찾아 로드하려고 시도합니다. 배포.system.config 속성이 가리키는 속성 파일입니다. 성공하면 파일이 사용되며, 그렇지 않으면 파일이 무시됩니다. 배포.system.config.mandatory 속성의 기본값은 false입니다.
이 게시물다음을 삭제해 볼 수 있다고 제안합니다.
파일:
%localappdata%\Sun\Java\Deployment\deployment.properties
레지스트리 키:
HKEY_CURRENT_USER\Software\AppDataLow\Software\JavaSoft\DeploymentProperties
이 게시물에 설명된 JAVA 7 관련 문제가 있습니다.SCCM/MDT를 사용한 Java 1.7 자동 업데이트 배포
더 많은 생각:
이 JRE 시스템 전체 구성이 어떤 Java 버전에서도 작동하지 않는다고 생각하기 시작했습니다. 그게 아니면 내가 뭔가를 완전히 놓치고 있어요
글쎄, 나는 그것이 확실히 작동하지 않는다는 것을 발견했습니다1.6.0_03 및 1.6.0_07:
큐:Java 플러그인 관련 배포 속성은 시스템 수준 배포 속성 파일에서 무시됩니다. 이 문제는 1.6.0_03 및 1.6.0_07에서 엄격하게 재현 가능합니다.
ㅏ: 6u14 b01로 테스트되었습니다. 시스템 수준 배포 구성이 새로운 Java 플러그인에서 작동 중입니다. 우리는 이전 플러그인에 대해 이 문제를 수정하지 않을 것입니다. 새 플러그인에서 재현할 수 없으므로 CR을 종료합니다.
시스템 수준 배포 구성은 Java webstart의 기능입니다. Java 플러그인에서는 사용되지 않았습니다.
6u10부터 새로운 Java 플러그인과 Java Webstart 모두에 동일한 jre 선택 메커니즘이 사용됩니다. 이를 통해 새 플러그인이 시스템 수준 구성을 조정할 수 있습니다. 이 CR을 RFE로 표시하고 우선순위를 보통으로 낮춥니다.
그리고 일종의 해결 방법이 있습니다.
다음은 문제에 대한 해결 방법이 될 수 있습니다. "Windows PC에서 전역적으로 속성(예: Xmx)을 구성하는 방법은 무엇입니까?"
그러나 이는 Java 플러그인 또는 Java Web Start와 같은 특정 구성 요소에만 국한되지 않습니다.
Windows 제어판 열기: 고급 → 환경 변수 → 시스템 변수 → 새 변수
변수 이름:_JAVA_OPTIONS
변수 값:-Xmx256m #(예)
확인을 눌러 모든 창을 닫습니다."Internet Explorer"를 다시 시작하면 구성이 활성화됩니다. 구성은 모든 Java 프로그램("java.exe" 실행 프로그램, Java Web Start "javaws.exe" 및 브라우저에서 실행되는 Java 플러그인)에 영향을 미칩니다.