문제

모델에서 해당 모델을 생성하기 위해 필요한 Java 소스 코드를 생성하는 "Tojavacode ()"를 작성하고 싶습니다 (이유를 신경 쓰지 않거나 수행하지 말아야 할 경우 또는 발생할 수있는 호환성 문제).

나는 이것을 테스트하는 방법을 잃어 버렸다. 나는 Maven을 사용하고 있지만, 생성 소스는 내 서버가 적절한 대량 테스트를 위해 올라 가야하기 때문에 실제로 작동하지 않습니다. "테스트"목표 중에 서버를 올리려고하지만 생성 소스는 너무 이른 일입니다.

반면에, 내장 된 컴파일러 (JDK의 Tools.jar)를 사용 하여이 작업을 수행 할 수는 있지만 테스트를 위해 항아리에 포장 할 수있는 방법 (또는 항아리를로드) 할 수 있습니다.

어떤 아이디어?

도움이 되었습니까?

해결책

당신은 사용할 수 있습니다 Javacompiler API 소스 파일을 컴파일하고 설정하려면 a 클래스 로더 테스트에서 컴파일 된 클래스를로드하려면 (샘플 코드). 도구는 클래스 경로에 있어야합니다. JDK가 사용되는 경우입니다.

생성 된 코드가 주어진 클래스에 대해 안정된 경우 사용할 수 있습니다. 주석 프로세서 소스 코드를 생성하고 주석이 달린 클래스와 동일한 Javac 실행에서 컴파일하려면.

다른 팁

Maven에 개미 작업을 추가 할 수 있습니다. 그것은 Maven 빌드 중에 '클래식 외계인'의 무언가를위한 방법입니다. Mavens 테스트 목표에 Javac Ant 작업을 추가하는 것과 같습니다.

(죄송합니다, 나는 당신의 주석가 Matt B만큼 혼란 스러워요. 그러나 내장 된 개미 작업은 여기에서 스위스 군용 나이프입니다.)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top