2017-12-20 13 views
0

코드 생성기가 포함 된 xtext 언어 프로젝트 (xtext 2.13/java8 사용)가 있습니다. 생성기는 다른 플러그인으로 내 프로젝트에 포함 된 다른 지원 라이브러리에 대해 컴파일하고 실행해야하는 Java 코드를 생성합니다. 이 프로젝트에는 발전기 테스트 프레임 워크를 사용하여 컴파일 및 실행되는 발전기 junit 테스트가 포함됩니다. 모든 것이 빌드되고 일식에서 잘 실행됩니다. 모든 것을 빌드하고 파서 및 유효성 검사를 실행하는 데 성공한 Maven 빌드를 설정했지만 내 지원 라이브러리에 대한 종속성을 해결할 수 없기 때문에 생성기 테스트에서 실패합니다. 이 테스트가 Eclipse에서 성공적으로 실행되었다는 사실은 플러그인 매니페스트를 올바르게 작성했지만 어떻게 든 maven 빌드가 지원 라이브러리에 컴파일/런트 종속성이 누락되었다는 것을 알려줍니다. maven에서 실행할 때 해당 종속성을 포함하도록 생성기 테스트를 구성하려면 어떻게해야합니까? 이클립스 또는 명령 줄에서 maven을 실행하는 것과 동일한 오류가 발생합니다. 생성기가 코드를 성공적으로 생성하지만 컴파일러가 지원 클래스의 종속성을 해결할 수 없어 컴파일되지 않습니다.xtext language library dependency and maven

+0

자세한 내용은 Xtext Maven 플러그인을 사용하십시오. https://www.eclipse.org/Xtext/documentation/350_continuous_integration.html ... –

+0

그런데 지원 라이브러리의 프로젝트 나 jar 파일을 발전기 테스트 (junit 테스트의 실행 설정)에 대한 classpath는 아무런 영향을 미치지 않는 것 같습니다. – user2000974

+0

어떻게하면 Libary를 만들 수 있습니까? 다우 지수를 종속성으로 추가합니까? 어떻게 생성기를 테스트합니까? –

답변

0

문제는 지원 라이브러리의 build.properties 파일에서 미묘한 실수로 밝혀졌습니다. bin.includes 설정은

bin.includes = META-INF 

이었지만 '.'도 포함시켜야했습니다.

bin.includes = META-INF,\ 
    . 

나는 너를 모른다. 그러나 나는 그 기간을보기가 정말로 어려웠다. 제거 방법은 확실하지 않지만 생성 된 jar 파일에 클래스가 포함되어 있지 않다는 단서가 있습니다. 분명히 이클립스 빌드가 클래스를 직접 찾을 수있는 동안 Maven 빌드는 SNAPSHOT jar 파일을 통해 해결됩니다.