Maven 컴파일러가 가져 오기를 확인할 수 없습니다.

Dec 07 2020

나는 maven과 tycho로 여러 이클립스 제품을 만들려고합니다. 현재 번들 A가 번들 B의 클래스에 종속되는 문제에 봉착했습니다. 번들 B는 다음과 유사한 패키지 구조를 가지고 있습니다.

a.b.c.d.e.f.Class

이제 AI를 빌드하려고하면 다음과 같은 컴파일 오류가 발생합니다.

 import a.b.c.d.e.f.MyClass;
[ERROR] ^^^^^^^^^
[ERROR] The import a.b.c.d.e cannot be resolved

자세히 살펴보면 Maven이 잘못된 패키지를 해결하려고 시도하는 a.b.c.d.e것을 알 수 있습니다. 가져올 클래스가 실제로 a.b.c.d.e.f.

또한에 클래스가 없습니다 a.b.c.d.e. a.b.c.d.eManifest에 내 보낸 패키지로 포함 하고 해당 목록에서 제거 했지만 둘 다 시도했지만 도움이되지 않았습니다.

여기서 문제는 무엇일까요?

답변

1 Radioo Dec 07 2020 at 20:08

매우 상세한 로깅을 사용하여 maven을 실행 한 후, 번들 A를 컴파일 할 때 maven (tycho)이 JDT 컴파일러로 전달되는 인수를 두 번 확인했습니다. 번들 B의 클래스 경로에 추가 한 JAR 만 전달하는 것으로 나타났습니다.

그런 다음 Bundle B의 MANIFEST에서를 지정한 것을 Bundle-Classpath알았습니다. 나는 이전에, 그러나 추가 한 후 자체가, 기본적으로 추가됩니다 번들의 클래스를 생각 ,.받는 Bundle-Classpath빌드가 다시 일 속성입니다.

그것에 대해 더 많이 읽고 싶다면 이 게시물 이 나를 올바른 방향으로 안내했습니다.