2012-10-06 3 views
1

런타임시 프론트 엔드 화면에서 XSD를 생성해야한다는 요구 사항이 있습니다.런타임에 XSD에서 Java 클래스 생성

그 다음에는 동일한 파일에 대한 Java 클래스를 작성해야합니다. 그러면 해당 파일을 war 파일로 압축하십시오. 이 모든 것은 런타임에 JVM 내에서 수행되어야합니다.

나는이에 대한 연구와 그 xjc를 (xjc를 -p foo는 myschema.xsd) 도구 명령을 발견했다. 불행히도 내 Java 응용 프로그램 내에서 도구를 실행할 수없는 것 같습니다.

Java에서 도구를 실행하는 프로세스 API가 있지만 OS 종속적이라고 생각합니다.

도와주세요.

런타임에 XSD에서 Java 소스 코드 또는 직접 바이너리 (클래스 파일)를 생성하고 EAR에 패키지해야합니다.

답변

1

Java 프로그램에서 도구를 실행할 수 있습니다. 다른 응용 프로그램과 마찬가지로 호출 할 수 있습니다.

executing the Process 일 때 현재 작업 디렉토리를 제공 할 수도 있습니다.

OS에 의존하지 않는 한 응용 프로그램을 OS에 종속시키지 않습니다. 경로를 제공 할 때 특히 적합합니다. 상대 경로 인 경우 안전을 위해 Linux 스타일 경로를 사용하십시오 (경로의 공백은 피하십시오).

일단 그렇게하면 *.java*.class 파일을 그룹화하고 일반 Java 도구를 사용하여 파일을 압축 할 수 있습니다. 거기에서 일부 API를 사용하여 EAR을 Java EE 환경으로로드 할 수 있습니다.

+0

문서를 확인했습니다. 이것이 제대로 작동하는 것 같습니다. 나는 그것이 올바른지 확인하고 말할 것이다. –

+0

그래서 이것은 런타임에 jar 도구를 실행할 수 있다는 것을 의미합니다. ?? –

+0

JDK가 대상 컴퓨터 및 환경 경로 (또는 다른 알려진 위치)에 설치되어있는 한. – pickypg

관련 문제