2013-04-30 1 views
2

나는이 문제를 상당히 많이 조사해 왔지만 적절한 해결책이나 방법을 찾지 못했습니다. 이걸 관리해라.Xtext 프로젝트 : 프로젝트 마법사 관리자가있는 Jar 라이브러리를 클라이언트의 Classpath/Referenced Libaries 프로젝트에 추가하십시오. 프로젝트

나는 Xtext와 Xtend를 통해 일부 코드를 생성하기위한 간단한 DSL을 작성했다. 선택적으로 Xtext의 UI 프로젝트에서 프로젝트 마법사를 사용하여 문법 및 플러그인을위한 개별 프로젝트를 만들 수 있습니다. 프로젝트를 쉽게 만들 수 있지만 클라이언트 프로젝트의 클래스 경로에 중요한 종속성을 추가해야합니다. 특히 .jar의 경로가 절대적이지 않은 경우에는 조금 더 까다로운 것 같습니다.

이것은 아마도 꽤 분명하지만 해결할 수 있습니다.

감사합니다. 고맙습니다 :)

+0

무엇을 의미합니까? Xtext/Xpand 종속성이 누락 되었습니까? 또는 클래스 패스에 사용자 정의 jar 파일을 추가하겠습니까? –

+1

종속성은 모두 괜찮지 만 클래스 경로에 추가 사용자 정의 병을 추가하여 클라이언트에서 사용할 수 있도록하고 싶습니다. – user1676210

답변

0

일반 Java 프로젝트 (Eclipse 플러그인 프로젝트 또는 Maven/Gradle 프로젝트 없음)에 대해 이야기 할 때 클래스 패스 컨테이너를 만들 수 있습니다 (모든 Java에 존재하는 "JRE System Library"컨테이너와 유사 함) 계획).

작업은 쉽게 접근 예는 Xtend Library container

필수 단계는 다음과 같습니다

  1. 당신은 당신의 DSL 기능의 일부를 확인하는 Eclipse 플러그인에 라이브러리를 설정에서
  2. 당신의 UI 플러그인을 사용하여 구현을 작성하면 Eclipse 플러그인 메커니즘을 사용하여 JAR 파일의 위치를 ​​검색합니다.
  3. ClasspathContainerInitializer의 하위 클래스 인 cre ATES 당신의 IClasspathContainer 구현의 인스턴스
  4. 사용자가 자바 경로 빌드 사용하여 라이브러리를 추가 할 수
  5. 당신은 작은 IClasspathContainerPage 마법사 페이지를 만들 - 당신은 사용하여 UI 프로젝트의 plugin.xml에 모든 것을 등록
  6. 프로젝트 설정에서> 라이브러리 페이지를 org.eclipse.jdt.core.classpathContainerInitializerorg.eclipse.jdt.ui.classpathContainerPage 확장 지점

Xtend UI에는 확장 기능도 있습니다. 라이브러리 추가를위한 quick fix (클라이언트 프로젝트로 Eclipse 플러그인 프로젝트의 경우도 처리 함).