产品和功能的第谷
Tycho for Product and feature
我正在从我的 Eclipse E4 应用程序(产品和功能项目)创建一个 Maven 项目。在搜索了一些教程之后,我得到了三个导入所有依赖项的 Maven 文件。一个 maven 文件用于功能项目,一个用于产品项目和一个父项目。
我的目标定义如下:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde version="0.0"?>
<target name="eclipse neon">
<locations>
<location includeAllPlatforms="false" includeMode="planner" type="InstallableUnit">
<unit id="org.eclipse.rcp.feature.group" version="0.0.0"/>
<unit id="org.eclipse.equinox.p2.user.ui.feature.group" version="0.0.0"/>
<unit id="org.eclipse.equinox.executable.feature.group" version="0.0.0"/>
<unit id="org.eclipse.core.filesystem" version="0.0.0"/>
<unit id="org.eclipse.core.resources" version="0.0.0"/>
<unit id="org.eclipse.nebula.widgets.pshelf" version="0.0.0"/>
<unit id="org.eclipse.nebula.widgets.nattable.core" version="0.0.0"/>
<unit id="org.eclipse.nebula.widgets.nattable.extension.e4" version="0.0.0"/>
<unit id="org.eclipse.nebula.widgets.nattable.extension.glazedlists" version="0.0.0"/>
<unit id="ca.odell.glazedlists" version="0.0.0"/>
<unit id="org.eclipse.ui.forms" version="0.0.0"/>
<unit id="org.eclipse.equinox.launcher" version="0.0.0"/>
<unit id="org.eclipse.rcp" version="0.0.0"/>
<unit id="org.eclipse.equinox.p2.core" version="0.0.0"/>
<unit id="org.eclipse.equinox.p2.engine" version="0.0.0"/>
<unit id="org.eclipse.equinox.p2.operations" version="0.0.0"/>
<unit id="org.eclipse.equinox.p2.metadata.repository" version="0.0.0"/>
<unit id="org.eclipse.emf.databinding" version="0.0.0"/>
<unit id="org.eclipse.core.filesystem.win32.x86_64" version="0.0.0"/>
<unit id="org.eclipse.core.resources.win32.x86_64" version="0.0.0"/>
<unit id="javax.annotation" version="0.0.0"/>
<unit id="javax.inject" version="0.0.0"/>
<unit id="javax.wsdl" version="0.0.0"/>
<unit id="javax.xml" version="0.0.0"/>
<unit id="org.apache.batik.css" version="0.0.0"/>
<unit id="org.apache.batik.util" version="0.0.0"/>
<unit id="org.apache.batik.util.gui" version="0.0.0"/>
<unit id="org.apache.commons.codec" version="0.0.0"/>
<unit id="org.apache.commons.jxpath" version="0.0.0"/>
<unit id="org.apache.commons.logging" version="0.0.0"/>
<unit id="org.eclipse.core.commands" version="0.0.0"/>
<unit id="org.eclipse.core.contenttype" version="0.0.0"/>
<unit id="org.eclipse.core.databinding" version="0.0.0"/>
<unit id="org.eclipse.equinox.common" version="0.0.0"/>
<unit id="org.eclipse.e4.core.di" version="0.0.0" />
<unit id="org.eclipse.e4.ui.css.core" version="0.0.0" />
<unit id="org.eclipse.swt" version="0.0.0"/>
<unit id="org.w3c.css.sac" version="0.0.0" />
<unit id="org.eclipse.core.runtime" version="0.0.0"/>
<unit id="org.eclipse.core.runtime" version="0.0.0"/>
<unit id="org.eclipse.emf.ecore" version="0.0.0"/>
<unit id="org.eclipse.core.databinding" version="0.0.0"/>
<unit id="org.eclipse.core.databinding.property" version="0.0.0"/>
<unit id="org.eclipse.swt" version="0.0.0"/>
<unit id="org.eclipse.e4.ui.css.swt" version="0.0.0" />
<unit id="org.eclipse.equinox.registry" version="0.0.0"/>
<unit id="org.eclipse.equinox.preferences" version="0.0.0"/>
<unit id="org.eclipse.core.runtime" version="0.0.0" />
<unit id="org.eclipse.equinox.app" version="0.0.0"/>
<unit id="org.eclipse.e4.ui.workbench" version="0.0.0" />
<unit id="org.eclipse.e4.core.services" version="0.0.0" />
<unit id="org.eclipse.e4.ui.services" version="0.0.0" />
<unit id="org.eclipse.jface" version="0.0.0"/>
<unit id="org.eclipse.jface.databinding" version="0.0.0"/>
<unit id="org.eclipse.e4.ui.css.swt" version="0.0.0" />
<unit id="org.eclipse.osgi.services" version="0.0.0"/>
<unit id="org.eclipse.e4.ui.bindings" version="0.0.0" />
<unit id="org.eclipse.e4.core.contexts" version="0.0.0" />
<unit id="org.eclipse.e4.ui.workbench3" version="0.0.0" />
<unit id="org.eclipse.core.jobs" version="0.0.0"/>
<unit id="org.eclipse.e4.core.di" version="0.0.0" />
<unit id="org.eclipse.e4.ui.css.swt.theme" version="0.0.0" />
<unit id="org.eclipse.core.expressions" version="0.0.0"/>
<unit id="org.eclipse.osgi" version="0.0.0"/>
<unit id="org.eclipse.core.runtime" version="0.0.0"/>
<unit id="org.eclipse.e4.core.commands" version="0.0.0" />
<unit id="org.eclipse.e4.ui.widgets" version="0.0.0" />
<unit id="org.eclipse.e4.ui.di" version="0.0.0" />
<unit id="org.eclipse.emf.ecore.xmi" version="0.0.0" />
<unit id="org.eclipse.e4.ui.model.workbench" version="0.0.0" />
<unit id="org.eclipse.equinox.common" version="0.0.0"/>
<unit id="org.eclipse.emf.common" version="0.0.0"/>
<unit id="org.eclipse.equinox.registry" version="0.0.0"/>
<unit id="org.eclipse.swt" version="0.0.0"/>
<unit id="org.eclipse.core.expressions" version="0.0.0"/>
<unit id="org.eclipse.core.filesystem" version="0.0.0"/>
<unit id="org.eclipse.core.runtime" version="0.0.0"/>
<unit id="org.apache.batik.util" version="0.0.0"/>
<unit id="org.eclipse.equinox.common" version="0.0.0"/>
<unit id="org.eclipse.core.databinding.observable" version="0.0.0"/>
<unit id="org.eclipse.core.databinding.property" version="0.0.0"/>
<unit id="org.eclipse.core.databinding.observable" version="0.0.0"/>
<unit id="org.eclipse.osgi" version="0.0.0"/>
<unit id="org.eclipse.equinox.common" version="0.0.0"/>
<unit id="org.eclipse.core.jobs" version="0.0.0"/>
<unit id="org.eclipse.equinox.preferences" version="0.0.0"/>
<unit id="org.eclipse.core.contenttype" version="0.0.0"/>
<unit id="org.eclipse.equinox.app" version="0.0.0" />
<unit id="org.w3c.dom.smil" version="0.0.0"/>
<unit id="org.eclipse.osgi" version="0.0.0" />
<unit id="org.eclipse.core.runtime" version="0.0.0"/>
<unit id="org.eclipse.e4.core.services" version="0.0.0" />
<unit id="org.eclipse.core.commands" version="0.0.0"/>
<unit id="org.eclipse.e4.core.di" version="0.0.0" />
<unit id="org.eclipse.emf.ecore" version="0.0.0" />
<unit id="org.eclipse.e4.emf.xpath" version="0.0.0" />
<unit id="org.eclipse.equinox.preferences" version="0.0.0"/>
<unit id="org.eclipse.equinox.registry" version="0.0.0"/>
<unit id="org.eclipse.e4.ui.model.workbench" version="0.0.0" />
<unit id="org.eclipse.osgi" version="0.0.0"/>
<unit id="org.eclipse.e4.ui.services" version="0.0.0" />
<unit id="org.eclipse.core.jobs" version="0.0.0"/>
<unit id="org.eclipse.e4.core.commands" version="0.0.0" />
<unit id="org.eclipse.emf.ecore.change" version="0.0.0" />
<unit id="org.eclipse.core.runtime" version="0.0.0" />
<unit id="org.eclipse.swt" version="0.0.0"/>
<unit id="org.eclipse.jface" version="0.0.0"/>
<unit id="org.eclipse.core.runtime" version="0.0.0"/>
<unit id="org.apache.batik.css" version="0.0.0" />
<unit id="org.eclipse.equinox.common" version="0.0.0"/>
<unit id="org.eclipse.osgi" version="0.0.0"/>
<unit id="org.eclipse.e4.core.di.annotations" version="0.0.0"/>
<unit id="org.eclipse.e4.core.di.extensions" version="0.0.0" />
<unit id="org.eclipse.osgi.services" version="0.0.0"/>
<unit id="org.eclipse.e4.core.contexts" version="0.0.0" />
<unit id="org.eclipse.e4.ui.workbench" version="0.0.0" />
<unit id="org.eclipse.e4.core.services" version="0.0.0" />
<unit id="org.eclipse.e4.ui.workbench.renderers.swt" version="0.0.0" />
<unit id="org.eclipse.swt" version="0.0.0"/>
<unit id="org.eclipse.jface" version="0.0.0"/>
<unit id="org.eclipse.e4.ui.di" version="0.0.0" />
<unit id="org.eclipse.e4.ui.services" version="0.0.0" />
<unit id="org.eclipse.swt" version="0.0.0"/>
<unit id="org.eclipse.core.commands" version="0.0.0"/>
<unit id="org.eclipse.equinox.common" version="0.0.0"/>
<unit id="org.eclipse.e4.ui.workbench" version="0.0.0" />
<unit id="org.eclipse.swt" version="0.0.0"/>
<unit id="org.eclipse.e4.ui.workbench.swt" version="0.0.0" />
<unit id="org.eclipse.e4.ui.model.workbench" version="0.0.0" />
<unit id="org.eclipse.emf.ecore" version="0.0.0" />
<unit id="org.eclipse.e4.ui.css.swt" version="0.0.0" />
<unit id="org.eclipse.e4.core.di.extensions" version="0.0.0" />
<unit id="org.eclipse.equinox.preferences" version="0.0.0" />
<unit id="org.apache.batik.util.gui" version="0.0.0"/>
<unit id="org.eclipse.equinox.common" version="0.0.0" />
<unit id="org.eclipse.equinox.preferences" version="0.0.0" />
<unit id="org.eclipse.core.jobs" version="0.0.0" />
<unit id="org.eclipse.core.filesystem" version="0.0.0"/>
<unit id="org.eclipse.core.resources" version="0.0.0"/>
<unit id="org.eclipse.e4.core.di" version="0.0.0" />
<unit id="org.apache.commons.jxpath" version="0.0.0" />
<unit id="org.eclipse.emf.ecore" version="0.0.0" />
<unit id="org.eclipse.equinox.launcher" version="0.0.0"/>
<unit id="javax.inject" version="0.0.0" />
<unit id="org.eclipse.core.runtime" version="0.0.0" />
<unit id="org.eclipse.swt" version="0.0.0" />
<unit id="org.eclipse.e4.ui.model.workbench" version="0.0.0" />
<unit id="org.eclipse.jface" version="0.0.0" />
<unit id="org.eclipse.e4.ui.services" version="0.0.0" />
<unit id="org.eclipse.e4.ui.workbench" version="0.0.0" />
<unit id="org.eclipse.e4.core.di" version="0.0.0" />
<unit id="org.eclipse.e4.ui.di" version="0.0.0" />
<unit id="org.eclipse.e4.core.contexts" version="0.0.0" />
<unit id="org.eclipse.nebula.widgets.pshelf" version="0.0.0" />
<unit id="org.eclipse.e4.core.services" version="0.0.0" />
<unit id="org.eclipse.nebula.widgets.nattable.core" version="0.0.0" />
<unit id="org.eclipse.nebula.widgets.nattable.extension.e4" version="0.0.0" />
<unit id="org.eclipse.nebula.widgets.nattable.extension.glazedlists" version="0.0.0" />
<unit id="ca.odell.glazedlists" version="0.0.0" />
<unit id="org.eclipse.ui.forms" version="0.0.0" />
<unit id="org.eclipse.equinox.launcher" version="0.0.0" />
<unit id="org.eclipse.rcp" version="0.0.0" />
<unit id="org.eclipse.equinox.p2.core" version="0.0.0" />
<unit id="org.eclipse.equinox.p2.engine" version="0.0.0" />
<unit id="org.eclipse.equinox.p2.operations" version="0.0.0" />
<unit id="org.eclipse.equinox.p2.metadata.repository" version="0.0.0" />
<unit id="org.eclipse.swt" version="0.0.0" />
<unit id="org.eclipse.e4.ui.css.core" version="0.0.0" />
<unit id="org.eclipse.e4.ui.css.swt" version="0.0.0" />
<unit id="org.w3c.css.sac" version="0.0.0" />
<unit id="org.eclipse.jface" version="0.0.0"/>
<unit id="org.eclipse.e4.ui.css.core" version="0.0.0" />
<unit id="org.eclipse.e4.ui.css.swt" version="0.0.0" />
<unit id="org.tukaani.xz" version="0.0.0" />
<unit id="org.eclipse.equinox.common" version="0.0.0" />
<repository location="http://download.eclipse.org/nattable/releases/1.4.0/repository/"/>
<repository location="http://download.eclipse.org/releases/neon/"/>
<repository location="http://download.eclipse.org/nebula/snapshot/"/>
<repository location="http://download.eclipse.org/nebula/incubation/snapshot/"/>
<repository location="http://download.eclipse.org/nattable/snapshots/latest/repository/"/>
</location>
</locations>
</target>
功能 pom 如下所示:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.atlascopco</groupId>
<artifactId>CR_IT_Client_Feature</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
<name>CR IT Client Feature</name>
<parent>
<version>1.0.0-SNAPSHOT</version>
<groupId>com.atlascopco</groupId>
<artifactId>parent</artifactId>
</parent>
</project>
产品 pom 如下所示:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.atlascopco</groupId>
<artifactId>eclipse-repository</artifactId>
<version>0.13.1-SNAPSHOT</version>
<packaging>eclipse-repository</packaging>
<name>CR IT Client Feature</name>
<parent>
<version>1.0.0-SNAPSHOT</version>
<groupId>com.atlascopco</groupId>
<artifactId>parent</artifactId>
</parent>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-director-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<formats>
<win32>zip</win32>
</formats>
</configuration>
<executions>
<execution>
<id>materialize-products</id>
<goals>
<goal>materialize-products</goal>
</goals>
</execution>
<execution>
<id>archive-products</id>
<goals>
<goal>archive-products</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
最后是父 pom:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.atlascopco</groupId>
<artifactId>parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>RCP Parent</name>
<properties>
<tycho-version>1.0.0</tycho-version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<modules>
<module>CR-IT client</module>
<module>CR_IT Client Feature</module>
<module>neon</module>
</modules>
<dependencies>
<!--<dependency>
<groupId>org.swtchart</groupId>
<artifactId>org.swtchart</artifactId>
<version>0.10.0</version>
</dependency>-->
<!-- https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple -->
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/net.lingala.zip4j/zip4j -->
<dependency>
<groupId>net.lingala.zip4j</groupId>
<artifactId>zip4j</artifactId>
<version>1.3.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.8.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.8.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.googlecode.gettext-commons/gettext-commons -->
<dependency>
<groupId>com.googlecode.gettext-commons</groupId>
<artifactId>gettext-commons</artifactId>
<version>0.9.8</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-codec/commons-codec -->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.10</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.5</version>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-repository-plugin</artifactId>
<version>${tycho-version}</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<version>${tycho-version}</version>
<configuration>
<pomDependencies>consider</pomDependencies>
<target>
<artifact>
<groupId>com.atlascopco</groupId>
<artifactId>neon</artifactId>
<version>1.0.0-SNAPSHOT</version>
</artifact>
</target>
<environments>
<environment>
<os>win32</os>
<ws>win32</ws>
<arch>x86_64</arch>
</environment>
</environments>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-repository-plugin</artifactId>
<version>${tycho-version}</version>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-maven-plugin</artifactId>
<version>${tycho-version}</version>
<extensions>true</extensions>
</plugin>
</plugins>
</build>
</project>
构建父项目时,我在 eclipse-repository maven 文件中遇到错误。 Maven 编译 RCP Parent 和 CR IT Client Feature 没有任何问题。但是在编译 eclipse-repository 项目时出现以下错误:
[ERROR] Cannot resolve project dependencies:
[ERROR] Software being installed: CR-IT_client_ID 0.13.1.qualifier
[ERROR] Missing requirement: CR-IT_client_ID 0.13.1.qualifier requires 'CR_IT_
Client_Feature.feature.group [1.0.0,1.0.1)' but it could not be found
[ERROR] Failed to execute goal org.eclipse.tycho:tycho-p2-repository-plugin:1.0.
0:assemble-repository (default-assemble-repository) on project eclipse-repositor
y: Execution default-assemble-repository of goal org.eclipse.tycho:tycho-p2-repo
sitory-plugin:1.0.0:assemble-repository failed: Cannot resolve dependencies of M
avenProject: com.atlascopco:eclipse-repository:0.13.1-SNAPSHOT @ [path to the projects]\framework\CR-IT client\pom.xml: See log for details -> [Help
1]
详细错误:
[ERROR] Failed to execute goal org.eclipse.tycho:tycho-p2-repository-plugin:1.0.0:assemble-repository (default-assemble-repository) on project eclipse-repository: Execution default-assemble-repository of goal org.eclipse.tycho:tycho-p2-repository-plugin:1.0.0:assemble-repository failed: Cannot resolve dependencies of MavenProject: com.atlascopco:eclipse-repository:0.13.1-SNAPSHOT @ C:\Users\air27654\Documents\Source\framework\CR-IT client\pom.xml: See log for details -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.eclipse.tycho:tycho-p2-repository-plugin:1.0.0:assemble-repository (default-assemble-repository) on project eclipse-repository: Execution default-assemble-repository of goal org.eclipse.tycho:tycho-p2-repository-plugin:1.0.0:assemble-repository failed: Cannot resolve dependencies of MavenProject: com.atlascopco:eclipse-repository:0.13.1-SNAPSHOT @ C:\Users\air27654\Documents\Source\framework\CR-IT client\pom.xml
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default-assemble-repository of goal org.eclipse.tycho:tycho-p2-repository-plugin:1.0.0:assemble-repository failed: Cannot resolve dependencies of MavenProject: com.atlascopco:eclipse-repository:0.13.1-SNAPSHOT @ C:\Users\air27654\Documents\Source\framework\CR-IT client\pom.xml
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:145)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
... 20 more
Caused by: org.eclipse.tycho.artifacts.DependencyResolutionException: Cannot resolve dependencies of MavenProject: com.atlascopco:eclipse-repository:0.13.1-SNAPSHOT @ C:\Users\air27654\Documents\Source\framework\CR-IT client\pom.xml
at org.eclipse.tycho.p2.resolver.P2ResolverImpl.resolveDependencies(P2ResolverImpl.java:202)
at org.eclipse.tycho.p2.resolver.P2ResolverImpl.resolveDependencies(P2ResolverImpl.java:116)
at org.eclipse.tycho.p2.resolver.P2DependencyResolver.doResolveDependencies(P2DependencyResolver.java:367)
at org.eclipse.tycho.p2.resolver.P2DependencyResolver.resolveDependencies(P2DependencyResolver.java:335)
at org.eclipse.tycho.p2.facade.RepositoryReferenceTool.addTargetPlatformRepository(RepositoryReferenceTool.java:124)
at org.eclipse.tycho.p2.facade.RepositoryReferenceTool.getVisibleRepositories(RepositoryReferenceTool.java:96)
at org.eclipse.tycho.plugins.p2.repository.AssembleRepositoryMojo.getVisibleRepositories(AssembleRepositoryMojo.java:165)
at org.eclipse.tycho.plugins.p2.repository.AssembleRepositoryMojo.execute(AssembleRepositoryMojo.java:137)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
... 21 more
Caused by: org.eclipse.tycho.p2.util.resolution.ResolverException: See log for details
at org.eclipse.tycho.p2.util.resolution.ProjectorResolutionStrategy.resolve(ProjectorResolutionStrategy.java:88)
at org.eclipse.tycho.p2.util.resolution.AbstractResolutionStrategy.resolve(AbstractResolutionStrategy.java:42)
at org.eclipse.tycho.p2.resolver.P2ResolverImpl.resolveDependencies(P2ResolverImpl.java:195)
... 29 more
我通常使用指定通用插件、依赖项和模块部分的父 POM。模块部分指向产品和功能项目。
我还注意到您将 p2 依赖项与 Maven 依赖项混合在一起。在这种情况下,您需要按照此处的说明设置 pomDependencies=consider:https://wiki.eclipse.org/Tycho/How_Tos/Dependency_on_pom-first_artifacts
几年前我也写了一篇博客post:http://blog.vogella.com/2013/01/03/tycho-advanced/
将我的项目设置从基于特色更改为基于插件。在产品文件中包含所有要求并从 pom 文件中删除所有功能链接后,它将编译,然后 运行。
我正在从我的 Eclipse E4 应用程序(产品和功能项目)创建一个 Maven 项目。在搜索了一些教程之后,我得到了三个导入所有依赖项的 Maven 文件。一个 maven 文件用于功能项目,一个用于产品项目和一个父项目。
我的目标定义如下:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde version="0.0"?>
<target name="eclipse neon">
<locations>
<location includeAllPlatforms="false" includeMode="planner" type="InstallableUnit">
<unit id="org.eclipse.rcp.feature.group" version="0.0.0"/>
<unit id="org.eclipse.equinox.p2.user.ui.feature.group" version="0.0.0"/>
<unit id="org.eclipse.equinox.executable.feature.group" version="0.0.0"/>
<unit id="org.eclipse.core.filesystem" version="0.0.0"/>
<unit id="org.eclipse.core.resources" version="0.0.0"/>
<unit id="org.eclipse.nebula.widgets.pshelf" version="0.0.0"/>
<unit id="org.eclipse.nebula.widgets.nattable.core" version="0.0.0"/>
<unit id="org.eclipse.nebula.widgets.nattable.extension.e4" version="0.0.0"/>
<unit id="org.eclipse.nebula.widgets.nattable.extension.glazedlists" version="0.0.0"/>
<unit id="ca.odell.glazedlists" version="0.0.0"/>
<unit id="org.eclipse.ui.forms" version="0.0.0"/>
<unit id="org.eclipse.equinox.launcher" version="0.0.0"/>
<unit id="org.eclipse.rcp" version="0.0.0"/>
<unit id="org.eclipse.equinox.p2.core" version="0.0.0"/>
<unit id="org.eclipse.equinox.p2.engine" version="0.0.0"/>
<unit id="org.eclipse.equinox.p2.operations" version="0.0.0"/>
<unit id="org.eclipse.equinox.p2.metadata.repository" version="0.0.0"/>
<unit id="org.eclipse.emf.databinding" version="0.0.0"/>
<unit id="org.eclipse.core.filesystem.win32.x86_64" version="0.0.0"/>
<unit id="org.eclipse.core.resources.win32.x86_64" version="0.0.0"/>
<unit id="javax.annotation" version="0.0.0"/>
<unit id="javax.inject" version="0.0.0"/>
<unit id="javax.wsdl" version="0.0.0"/>
<unit id="javax.xml" version="0.0.0"/>
<unit id="org.apache.batik.css" version="0.0.0"/>
<unit id="org.apache.batik.util" version="0.0.0"/>
<unit id="org.apache.batik.util.gui" version="0.0.0"/>
<unit id="org.apache.commons.codec" version="0.0.0"/>
<unit id="org.apache.commons.jxpath" version="0.0.0"/>
<unit id="org.apache.commons.logging" version="0.0.0"/>
<unit id="org.eclipse.core.commands" version="0.0.0"/>
<unit id="org.eclipse.core.contenttype" version="0.0.0"/>
<unit id="org.eclipse.core.databinding" version="0.0.0"/>
<unit id="org.eclipse.equinox.common" version="0.0.0"/>
<unit id="org.eclipse.e4.core.di" version="0.0.0" />
<unit id="org.eclipse.e4.ui.css.core" version="0.0.0" />
<unit id="org.eclipse.swt" version="0.0.0"/>
<unit id="org.w3c.css.sac" version="0.0.0" />
<unit id="org.eclipse.core.runtime" version="0.0.0"/>
<unit id="org.eclipse.core.runtime" version="0.0.0"/>
<unit id="org.eclipse.emf.ecore" version="0.0.0"/>
<unit id="org.eclipse.core.databinding" version="0.0.0"/>
<unit id="org.eclipse.core.databinding.property" version="0.0.0"/>
<unit id="org.eclipse.swt" version="0.0.0"/>
<unit id="org.eclipse.e4.ui.css.swt" version="0.0.0" />
<unit id="org.eclipse.equinox.registry" version="0.0.0"/>
<unit id="org.eclipse.equinox.preferences" version="0.0.0"/>
<unit id="org.eclipse.core.runtime" version="0.0.0" />
<unit id="org.eclipse.equinox.app" version="0.0.0"/>
<unit id="org.eclipse.e4.ui.workbench" version="0.0.0" />
<unit id="org.eclipse.e4.core.services" version="0.0.0" />
<unit id="org.eclipse.e4.ui.services" version="0.0.0" />
<unit id="org.eclipse.jface" version="0.0.0"/>
<unit id="org.eclipse.jface.databinding" version="0.0.0"/>
<unit id="org.eclipse.e4.ui.css.swt" version="0.0.0" />
<unit id="org.eclipse.osgi.services" version="0.0.0"/>
<unit id="org.eclipse.e4.ui.bindings" version="0.0.0" />
<unit id="org.eclipse.e4.core.contexts" version="0.0.0" />
<unit id="org.eclipse.e4.ui.workbench3" version="0.0.0" />
<unit id="org.eclipse.core.jobs" version="0.0.0"/>
<unit id="org.eclipse.e4.core.di" version="0.0.0" />
<unit id="org.eclipse.e4.ui.css.swt.theme" version="0.0.0" />
<unit id="org.eclipse.core.expressions" version="0.0.0"/>
<unit id="org.eclipse.osgi" version="0.0.0"/>
<unit id="org.eclipse.core.runtime" version="0.0.0"/>
<unit id="org.eclipse.e4.core.commands" version="0.0.0" />
<unit id="org.eclipse.e4.ui.widgets" version="0.0.0" />
<unit id="org.eclipse.e4.ui.di" version="0.0.0" />
<unit id="org.eclipse.emf.ecore.xmi" version="0.0.0" />
<unit id="org.eclipse.e4.ui.model.workbench" version="0.0.0" />
<unit id="org.eclipse.equinox.common" version="0.0.0"/>
<unit id="org.eclipse.emf.common" version="0.0.0"/>
<unit id="org.eclipse.equinox.registry" version="0.0.0"/>
<unit id="org.eclipse.swt" version="0.0.0"/>
<unit id="org.eclipse.core.expressions" version="0.0.0"/>
<unit id="org.eclipse.core.filesystem" version="0.0.0"/>
<unit id="org.eclipse.core.runtime" version="0.0.0"/>
<unit id="org.apache.batik.util" version="0.0.0"/>
<unit id="org.eclipse.equinox.common" version="0.0.0"/>
<unit id="org.eclipse.core.databinding.observable" version="0.0.0"/>
<unit id="org.eclipse.core.databinding.property" version="0.0.0"/>
<unit id="org.eclipse.core.databinding.observable" version="0.0.0"/>
<unit id="org.eclipse.osgi" version="0.0.0"/>
<unit id="org.eclipse.equinox.common" version="0.0.0"/>
<unit id="org.eclipse.core.jobs" version="0.0.0"/>
<unit id="org.eclipse.equinox.preferences" version="0.0.0"/>
<unit id="org.eclipse.core.contenttype" version="0.0.0"/>
<unit id="org.eclipse.equinox.app" version="0.0.0" />
<unit id="org.w3c.dom.smil" version="0.0.0"/>
<unit id="org.eclipse.osgi" version="0.0.0" />
<unit id="org.eclipse.core.runtime" version="0.0.0"/>
<unit id="org.eclipse.e4.core.services" version="0.0.0" />
<unit id="org.eclipse.core.commands" version="0.0.0"/>
<unit id="org.eclipse.e4.core.di" version="0.0.0" />
<unit id="org.eclipse.emf.ecore" version="0.0.0" />
<unit id="org.eclipse.e4.emf.xpath" version="0.0.0" />
<unit id="org.eclipse.equinox.preferences" version="0.0.0"/>
<unit id="org.eclipse.equinox.registry" version="0.0.0"/>
<unit id="org.eclipse.e4.ui.model.workbench" version="0.0.0" />
<unit id="org.eclipse.osgi" version="0.0.0"/>
<unit id="org.eclipse.e4.ui.services" version="0.0.0" />
<unit id="org.eclipse.core.jobs" version="0.0.0"/>
<unit id="org.eclipse.e4.core.commands" version="0.0.0" />
<unit id="org.eclipse.emf.ecore.change" version="0.0.0" />
<unit id="org.eclipse.core.runtime" version="0.0.0" />
<unit id="org.eclipse.swt" version="0.0.0"/>
<unit id="org.eclipse.jface" version="0.0.0"/>
<unit id="org.eclipse.core.runtime" version="0.0.0"/>
<unit id="org.apache.batik.css" version="0.0.0" />
<unit id="org.eclipse.equinox.common" version="0.0.0"/>
<unit id="org.eclipse.osgi" version="0.0.0"/>
<unit id="org.eclipse.e4.core.di.annotations" version="0.0.0"/>
<unit id="org.eclipse.e4.core.di.extensions" version="0.0.0" />
<unit id="org.eclipse.osgi.services" version="0.0.0"/>
<unit id="org.eclipse.e4.core.contexts" version="0.0.0" />
<unit id="org.eclipse.e4.ui.workbench" version="0.0.0" />
<unit id="org.eclipse.e4.core.services" version="0.0.0" />
<unit id="org.eclipse.e4.ui.workbench.renderers.swt" version="0.0.0" />
<unit id="org.eclipse.swt" version="0.0.0"/>
<unit id="org.eclipse.jface" version="0.0.0"/>
<unit id="org.eclipse.e4.ui.di" version="0.0.0" />
<unit id="org.eclipse.e4.ui.services" version="0.0.0" />
<unit id="org.eclipse.swt" version="0.0.0"/>
<unit id="org.eclipse.core.commands" version="0.0.0"/>
<unit id="org.eclipse.equinox.common" version="0.0.0"/>
<unit id="org.eclipse.e4.ui.workbench" version="0.0.0" />
<unit id="org.eclipse.swt" version="0.0.0"/>
<unit id="org.eclipse.e4.ui.workbench.swt" version="0.0.0" />
<unit id="org.eclipse.e4.ui.model.workbench" version="0.0.0" />
<unit id="org.eclipse.emf.ecore" version="0.0.0" />
<unit id="org.eclipse.e4.ui.css.swt" version="0.0.0" />
<unit id="org.eclipse.e4.core.di.extensions" version="0.0.0" />
<unit id="org.eclipse.equinox.preferences" version="0.0.0" />
<unit id="org.apache.batik.util.gui" version="0.0.0"/>
<unit id="org.eclipse.equinox.common" version="0.0.0" />
<unit id="org.eclipse.equinox.preferences" version="0.0.0" />
<unit id="org.eclipse.core.jobs" version="0.0.0" />
<unit id="org.eclipse.core.filesystem" version="0.0.0"/>
<unit id="org.eclipse.core.resources" version="0.0.0"/>
<unit id="org.eclipse.e4.core.di" version="0.0.0" />
<unit id="org.apache.commons.jxpath" version="0.0.0" />
<unit id="org.eclipse.emf.ecore" version="0.0.0" />
<unit id="org.eclipse.equinox.launcher" version="0.0.0"/>
<unit id="javax.inject" version="0.0.0" />
<unit id="org.eclipse.core.runtime" version="0.0.0" />
<unit id="org.eclipse.swt" version="0.0.0" />
<unit id="org.eclipse.e4.ui.model.workbench" version="0.0.0" />
<unit id="org.eclipse.jface" version="0.0.0" />
<unit id="org.eclipse.e4.ui.services" version="0.0.0" />
<unit id="org.eclipse.e4.ui.workbench" version="0.0.0" />
<unit id="org.eclipse.e4.core.di" version="0.0.0" />
<unit id="org.eclipse.e4.ui.di" version="0.0.0" />
<unit id="org.eclipse.e4.core.contexts" version="0.0.0" />
<unit id="org.eclipse.nebula.widgets.pshelf" version="0.0.0" />
<unit id="org.eclipse.e4.core.services" version="0.0.0" />
<unit id="org.eclipse.nebula.widgets.nattable.core" version="0.0.0" />
<unit id="org.eclipse.nebula.widgets.nattable.extension.e4" version="0.0.0" />
<unit id="org.eclipse.nebula.widgets.nattable.extension.glazedlists" version="0.0.0" />
<unit id="ca.odell.glazedlists" version="0.0.0" />
<unit id="org.eclipse.ui.forms" version="0.0.0" />
<unit id="org.eclipse.equinox.launcher" version="0.0.0" />
<unit id="org.eclipse.rcp" version="0.0.0" />
<unit id="org.eclipse.equinox.p2.core" version="0.0.0" />
<unit id="org.eclipse.equinox.p2.engine" version="0.0.0" />
<unit id="org.eclipse.equinox.p2.operations" version="0.0.0" />
<unit id="org.eclipse.equinox.p2.metadata.repository" version="0.0.0" />
<unit id="org.eclipse.swt" version="0.0.0" />
<unit id="org.eclipse.e4.ui.css.core" version="0.0.0" />
<unit id="org.eclipse.e4.ui.css.swt" version="0.0.0" />
<unit id="org.w3c.css.sac" version="0.0.0" />
<unit id="org.eclipse.jface" version="0.0.0"/>
<unit id="org.eclipse.e4.ui.css.core" version="0.0.0" />
<unit id="org.eclipse.e4.ui.css.swt" version="0.0.0" />
<unit id="org.tukaani.xz" version="0.0.0" />
<unit id="org.eclipse.equinox.common" version="0.0.0" />
<repository location="http://download.eclipse.org/nattable/releases/1.4.0/repository/"/>
<repository location="http://download.eclipse.org/releases/neon/"/>
<repository location="http://download.eclipse.org/nebula/snapshot/"/>
<repository location="http://download.eclipse.org/nebula/incubation/snapshot/"/>
<repository location="http://download.eclipse.org/nattable/snapshots/latest/repository/"/>
</location>
</locations>
</target>
功能 pom 如下所示:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.atlascopco</groupId>
<artifactId>CR_IT_Client_Feature</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
<name>CR IT Client Feature</name>
<parent>
<version>1.0.0-SNAPSHOT</version>
<groupId>com.atlascopco</groupId>
<artifactId>parent</artifactId>
</parent>
</project>
产品 pom 如下所示:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.atlascopco</groupId>
<artifactId>eclipse-repository</artifactId>
<version>0.13.1-SNAPSHOT</version>
<packaging>eclipse-repository</packaging>
<name>CR IT Client Feature</name>
<parent>
<version>1.0.0-SNAPSHOT</version>
<groupId>com.atlascopco</groupId>
<artifactId>parent</artifactId>
</parent>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-director-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<formats>
<win32>zip</win32>
</formats>
</configuration>
<executions>
<execution>
<id>materialize-products</id>
<goals>
<goal>materialize-products</goal>
</goals>
</execution>
<execution>
<id>archive-products</id>
<goals>
<goal>archive-products</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
最后是父 pom:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.atlascopco</groupId>
<artifactId>parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>RCP Parent</name>
<properties>
<tycho-version>1.0.0</tycho-version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<modules>
<module>CR-IT client</module>
<module>CR_IT Client Feature</module>
<module>neon</module>
</modules>
<dependencies>
<!--<dependency>
<groupId>org.swtchart</groupId>
<artifactId>org.swtchart</artifactId>
<version>0.10.0</version>
</dependency>-->
<!-- https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple -->
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/net.lingala.zip4j/zip4j -->
<dependency>
<groupId>net.lingala.zip4j</groupId>
<artifactId>zip4j</artifactId>
<version>1.3.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.8.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.8.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.googlecode.gettext-commons/gettext-commons -->
<dependency>
<groupId>com.googlecode.gettext-commons</groupId>
<artifactId>gettext-commons</artifactId>
<version>0.9.8</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-codec/commons-codec -->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.10</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.5</version>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-repository-plugin</artifactId>
<version>${tycho-version}</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<version>${tycho-version}</version>
<configuration>
<pomDependencies>consider</pomDependencies>
<target>
<artifact>
<groupId>com.atlascopco</groupId>
<artifactId>neon</artifactId>
<version>1.0.0-SNAPSHOT</version>
</artifact>
</target>
<environments>
<environment>
<os>win32</os>
<ws>win32</ws>
<arch>x86_64</arch>
</environment>
</environments>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-repository-plugin</artifactId>
<version>${tycho-version}</version>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-maven-plugin</artifactId>
<version>${tycho-version}</version>
<extensions>true</extensions>
</plugin>
</plugins>
</build>
</project>
构建父项目时,我在 eclipse-repository maven 文件中遇到错误。 Maven 编译 RCP Parent 和 CR IT Client Feature 没有任何问题。但是在编译 eclipse-repository 项目时出现以下错误:
[ERROR] Cannot resolve project dependencies:
[ERROR] Software being installed: CR-IT_client_ID 0.13.1.qualifier
[ERROR] Missing requirement: CR-IT_client_ID 0.13.1.qualifier requires 'CR_IT_
Client_Feature.feature.group [1.0.0,1.0.1)' but it could not be found
[ERROR] Failed to execute goal org.eclipse.tycho:tycho-p2-repository-plugin:1.0.
0:assemble-repository (default-assemble-repository) on project eclipse-repositor
y: Execution default-assemble-repository of goal org.eclipse.tycho:tycho-p2-repo
sitory-plugin:1.0.0:assemble-repository failed: Cannot resolve dependencies of M
avenProject: com.atlascopco:eclipse-repository:0.13.1-SNAPSHOT @ [path to the projects]\framework\CR-IT client\pom.xml: See log for details -> [Help
1]
详细错误:
[ERROR] Failed to execute goal org.eclipse.tycho:tycho-p2-repository-plugin:1.0.0:assemble-repository (default-assemble-repository) on project eclipse-repository: Execution default-assemble-repository of goal org.eclipse.tycho:tycho-p2-repository-plugin:1.0.0:assemble-repository failed: Cannot resolve dependencies of MavenProject: com.atlascopco:eclipse-repository:0.13.1-SNAPSHOT @ C:\Users\air27654\Documents\Source\framework\CR-IT client\pom.xml: See log for details -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.eclipse.tycho:tycho-p2-repository-plugin:1.0.0:assemble-repository (default-assemble-repository) on project eclipse-repository: Execution default-assemble-repository of goal org.eclipse.tycho:tycho-p2-repository-plugin:1.0.0:assemble-repository failed: Cannot resolve dependencies of MavenProject: com.atlascopco:eclipse-repository:0.13.1-SNAPSHOT @ C:\Users\air27654\Documents\Source\framework\CR-IT client\pom.xml
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default-assemble-repository of goal org.eclipse.tycho:tycho-p2-repository-plugin:1.0.0:assemble-repository failed: Cannot resolve dependencies of MavenProject: com.atlascopco:eclipse-repository:0.13.1-SNAPSHOT @ C:\Users\air27654\Documents\Source\framework\CR-IT client\pom.xml
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:145)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
... 20 more
Caused by: org.eclipse.tycho.artifacts.DependencyResolutionException: Cannot resolve dependencies of MavenProject: com.atlascopco:eclipse-repository:0.13.1-SNAPSHOT @ C:\Users\air27654\Documents\Source\framework\CR-IT client\pom.xml
at org.eclipse.tycho.p2.resolver.P2ResolverImpl.resolveDependencies(P2ResolverImpl.java:202)
at org.eclipse.tycho.p2.resolver.P2ResolverImpl.resolveDependencies(P2ResolverImpl.java:116)
at org.eclipse.tycho.p2.resolver.P2DependencyResolver.doResolveDependencies(P2DependencyResolver.java:367)
at org.eclipse.tycho.p2.resolver.P2DependencyResolver.resolveDependencies(P2DependencyResolver.java:335)
at org.eclipse.tycho.p2.facade.RepositoryReferenceTool.addTargetPlatformRepository(RepositoryReferenceTool.java:124)
at org.eclipse.tycho.p2.facade.RepositoryReferenceTool.getVisibleRepositories(RepositoryReferenceTool.java:96)
at org.eclipse.tycho.plugins.p2.repository.AssembleRepositoryMojo.getVisibleRepositories(AssembleRepositoryMojo.java:165)
at org.eclipse.tycho.plugins.p2.repository.AssembleRepositoryMojo.execute(AssembleRepositoryMojo.java:137)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
... 21 more
Caused by: org.eclipse.tycho.p2.util.resolution.ResolverException: See log for details
at org.eclipse.tycho.p2.util.resolution.ProjectorResolutionStrategy.resolve(ProjectorResolutionStrategy.java:88)
at org.eclipse.tycho.p2.util.resolution.AbstractResolutionStrategy.resolve(AbstractResolutionStrategy.java:42)
at org.eclipse.tycho.p2.resolver.P2ResolverImpl.resolveDependencies(P2ResolverImpl.java:195)
... 29 more
我通常使用指定通用插件、依赖项和模块部分的父 POM。模块部分指向产品和功能项目。
我还注意到您将 p2 依赖项与 Maven 依赖项混合在一起。在这种情况下,您需要按照此处的说明设置 pomDependencies=consider:https://wiki.eclipse.org/Tycho/How_Tos/Dependency_on_pom-first_artifacts
几年前我也写了一篇博客post:http://blog.vogella.com/2013/01/03/tycho-advanced/
将我的项目设置从基于特色更改为基于插件。在产品文件中包含所有要求并从 pom 文件中删除所有功能链接后,它将编译,然后 运行。