org.eclipse.e4.core.di
또는 org.eclipse.core.runtime
과 같은 여러 Eclipse 모듈에 의존하는 Eclipse RCP/IDE 플러그인 프로젝트가 있습니다.eclipse RCP maven/tycho missing requirements 'bundle org.eclipse.e4.core.di'
이 프로젝트는 종속성 설정을 위해 .target
파일이있는 Committers 환경 용 Eclipse IDE에서 컴파일됩니다. 다음과 같이
나는 머리가없는 받는다는가/티코 오류의 결과로이 프로젝트에 빌드 추가 할 :
프로젝트 설정은 다음과 같습니다[ERROR] Cannot resolve project dependencies:
[ERROR] Software being installed: org.myplugin.someservice 1.0.0
[ERROR] Missing requirement: org.myplugin.someservice 1.0.0 requires 'bundle org.eclipse.e4.core.di 0.0.0' but it could not be found
: 나는 자습서 사용했습니다
releng/
org.myplugin.releng/
pom.xml (contains tycho-plugins def, modules, target ref)
org.myplugin.target/
Neon.target
pom.xml (contains 'eclipse-target-definition')
plugins/
org.myplugin.someservice/
pom.xml
META-INF/
MANIFEST.MF (contains reference to org.eclipse.e4.core.di)
Lars Vogel (http://www.vogella.com/tutorials/EclipseTycho/article.html#exercise-using-a-target-platform-for-the-build)의 기본 설정 및 이해. 대상 파일의
내용은 다음과 같습니다
는<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde version="3.8"?><target name="Neon" sequenceNumber="43">
<locations>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="false" type="InstallableUnit">
<unit id="org.eclipse.platform.sdk" version="4.6.3.M20170301-0400"/>
<unit id="org.eclipse.pde.feature.group" version="3.12.3.v20170301-0400"/>
<unit id="org.eclipse.pde.source.feature.group" version="3.12.3.v20170301-0400"/>
<unit id="org.eclipse.platform.ide" version="4.6.3.M20170301-0400"/>
<unit id="org.eclipse.equinox.sdk.feature.group" version="3.12.0.v20170209-1843"/>
<unit id="org.eclipse.rcp.feature.group" version="4.6.3.v20170301-0400"/>
<repository location="http://download.eclipse.org/eclipse/updates/4.6"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="false" type="InstallableUnit">
<unit id="org.eclipse.emf.cdo.epp.feature.group" version="4.5.0.v20160607-1511"/>
<unit id="org.eclipse.emf.sdk.feature.group" version="2.12.0.v20160526-0356"/>
<unit id="org.eclipse.emf.compare.diagram.papyrus.feature.group" version="3.2.1.201608311750"/>
<unit id="org.eclipse.xtext.sdk.feature.group" version="2.10.0.v201605250459"/>
<unit id="org.eclipse.gmf.runtime.sdk.feature.group" version="1.10.0.201606071959"/>
<unit id="org.eclipse.gmf.runtime.notation.sdk.feature.group" version="1.10.0.201606071631"/>
<unit id="org.eclipse.uml2.sdk.feature.group" version="5.2.3.v20170227-0935"/>
<unit id="org.eclipse.emf.compare.ide.ui.feature.group" version="3.2.1.201608311750"/>
<repository location="http://download.eclipse.org/releases/neon"/>
</location>
</locations>
</target>
이 내 이클립스 설치 정보가 설치된 소프트웨어에 대한 출력한다 무엇을 주로 잡는다.
<?xml version="1.0" encoding="UTF-8"?>
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.myplugin</groupId>
<artifactId>org.myplugin.releng</artifactId>
<version>1.0.0-SNAPSHOT</version>
<relativePath>../org.myplugin.releng/pom.xml</relativePath>
</parent>
<groupId>org.myplugin</groupId>
<artifactId>org.myplugin.target</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>eclipse-target-definition</packaging>
</project>
가 releng/pom.xml
이 매우 크고, 모든 받는다는/티코 플러그인, 의존성 해결, 대상 플랫폼과 모듈 등 모든 플러그인 및 기능에 사용하는 대상 파일을 지정합니다
target/pom.xml
은 다음과 같습니다. I에 유래 여기에 많은 비슷한 질문을 읽고 수정의 많은 노력했습니다
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.myplugin</groupId>
<artifactId>org.myplugin.releng</artifactId>
<version>1.0.0-SNAPSHOT</version>
<relativePath>../../org.myplugin.releng/pom.xml</relativePath>
</parent>
<groupId>org.myplugin</groupId>
<artifactId>org.myplugin.someservice</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
: 버전을 제거
- 를 pom.xml 파일을 플러그인 하나 개의 실패에 대한
은 다음과 같습니다 태그 target/pom.xml,
- 상대 경로 제거,
- eclipse-target-definition 대신 pom 사용
- 및 일부
아무 것도 효과가 없습니다. 그래서 나는 무엇을 여기에서 놓치고 있냐?
편집 : 내가 인식하는 releng/pom.xml
해야 설정 티코 플러그인과 받는다는 물건. mvn clean verfiy
명령을 실행하면 솔루션을 빌드해야합니다. 지정한 Neon.target 정의가 releng/pom.xml
인 경우 target/pom.xml
및 target/Neon.target
을 사용하여 Eclipse 환경 (org.eclipse.e4.core.di
및 org.eclipse.core
포함)과 더 정의 된 종속성을 얻습니다.
EDIT2 : 내 eclipse-target-definition
플러그인은 다음과 같이 구성되어
<profile>
<id>Neon.target</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<xtext-version>2.10.0</xtext-version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<version>${tycho-version}</version>
<configuration>
<includePackedArtifacts>true</includePackedArtifacts>
<target>
<artifact>
<groupId>org.myplugin</groupId>
<artifactId>org.myplugin.target</artifactId>
<version>1.0.0-SNAPSHOT</version>
<classifier>org.myplugin.target</classifier>
</artifact>
</target>
</configuration>
</plugin>
</plugins>
</build>
</profile>
EDIT3 :을 나는 티코 버전 1.0을 사용하고 있습니다.0
EDIT4target/pom.xml
의 오타가 수정되었습니다.
Eclipse * Target Editor *에서 Neon.target을 열 수 있습니까? Eclipse가 대상 플랫폼을 해결할 때까지 기다렸다가 org.eclipse.e4.core.di가 대상 플랫폼에 실제로 포함되는지 여부 * 내용 * 탭을 다시 확인하십시오. –
OK, 네온 타겟은 실제로'org.eclipse.e4.core.di'를 포함하고 있습니다. 그러나 당신의 org.myplugin.someservice' 플러그인은'pom에 구성된 Maven 플러그인의 [target-platform-configuration] (https://wiki.eclipse.org/Tycho/Target_Platform#Target_files) 플러그인을 가지고 있습니까? xml' (또는 부모 중 하나)? –
target-platform-configuration 플러그인의 구성을 EDIT2로 추가했습니다. 이 설정은 org.myplugin.releng의 부모 pom.xml에 있습니다. – justwellbrock