현재 프로젝트에서 런타임시 Java 코드를 컴파일해야합니다 (백그라운드에서 사용자 입력을 처리해야 함). 이것은 classpath의 tools.jar와 잘 동작합니다. 그러나 내 프로그램의 모든 사용자가 시스템에 JDK를 설치하지는 않습니다. 그들 중 일부는 JRE 만 가지고 있으며이 경우 실행시에 사용할 수있는 Java 컴파일러가 없습니다. 내 도구의 일부로 Sun의 tools.jar 파일을 포함 시켜서이 문제를 해결할 수 있습니다.런타임시 Java 컴파일러
하지만 tools.jar은 매우 커 (> 12 MB). 문제는 큰 jar 파일을 포함해야한다는 것입니다. 비록이 jar가 제공하는 기능 중 일부분에만 관심이 있습니다. 나는 자바 코드 만 컴파일에 필요한 입니다 클래스 작은 부분 집합을 가질 수 있도록
IT는 tools.jar를 파일을 깰 수 있습니까?
이것은 불법입니까?
고마워요.
이것은 사용하는 것으로 생각되는 옵션입니다. 예, Eclipse없이 Eclipse 컴파일러를 사용할 수 있습니다. 스레드 캐싱 동작으로 인해 문제가 발생했습니다. 즉, 하나의 스레드에서 둘 이상의 컴파일러 인스턴스를 가져올 수 없습니다. 내 사용 시나리오에서는 매번 컴파일러의 새 인스턴스가 필요하기 때문에 컴파일러에서 진단 메시지를 추적하는 데 문제가 있습니다. – Dipmedeep