我为pom.xml
s中定义的多个插件,功能,网站和目标设置了Tycho构建。
我可以在Eclipse IDE中运行我的应用程序。此外,mvn clean package
构建得很好。
但是,当我添加一个需要ca.odell.glazedlists
的插件(也在我的目标定义中)时,我仍然可以在IDE中运行它,但mvn clean package
构建失败。有什么想法怎么办? Maven输出和pom.xml如下。
[INFO] Computing target platform for MavenProject: lumo:microsoftsqlserver:0.0.1-SNAPSHOT @ D:\Java7\lumoE4Workspace\microsoftsqlserver\pom.xml
[INFO] Fetching p2.index from http://download.eclipse.org/releases/kepler/ (0B at 0B/s)
[INFO] Fetching p2.index from http://download.eclipse.org/releases/kepler/ (128B at 0B/s)
[INFO] 1 operation remaining.
[INFO] Adding repository http://download.eclipse.org/releases/kepler
[INFO] Fetching p2.index from http://download.eclipse.org/releases/kepler/201306260900/ (0B at 0B/s)
[INFO] 1 operation remaining.
[INFO] Fetching p2.index from http://download.eclipse.org/releases/kepler/201306260900/ (365B at 0B/s)
[INFO] Fetching p2.index from http://download.eclipse.org/technology/epp/packages/kepler/ (0B at 0B/s)
[INFO] 1 operation remaining.
[INFO] Fetching p2.index from http://download.eclipse.org/technology/epp/packages/kepler/ (116B at 0B/s)
[INFO] Fetching p2.index from http://download.eclipse.org/releases/kepler/ (0B at 0B/s)
[INFO] 1 operation remaining.
[INFO] Fetching p2.index from http://download.eclipse.org/releases/kepler/ (128B at 0B/s)
[INFO] Adding repository http://download.eclipse.org/releases/kepler
[INFO] Fetching p2.index from http://download.eclipse.org/releases/kepler/201306260900/ (0B at 0B/s)
[INFO] 1 operation remaining.
[INFO] Fetching p2.index from http://download.eclipse.org/releases/kepler/201306260900/ (365B at 0B/s)
[INFO] Fetching p2.index from http://download.eclipse.org/technology/epp/packages/kepler/ (0B at 0B/s)
[INFO] 1 operation remaining.
[INFO] Fetching p2.index from http://download.eclipse.org/technology/epp/packages/kepler/ (116B at 0B/s)
[WARNING] Target location type: Directory is not supported
[WARNING] Target location type: Profile is not supported
[WARNING] Target location type: Directory is not supported
[WARNING] De-selecting bundles in a target definition file is not supported. See http://wiki.eclipse.org/Tycho_Messages_Explained#Target_File_Include_Bundles for alternatives.
[INFO] Resolving dependencies of MavenProject: lumo:microsoftsqlserver:0.0.1-SNAPSHOT @ D:\Java7\lumoE4Workspace\microsoftsqlserver\pom.xml
[INFO] Resolving class path of MavenProject: lumo:microsoftsqlserver:0.0.1-SNAPSHOT @ D:\Java7\lumoE4Workspace\microsoftsqlserver\pom.xml
[INFO] Computing target platform for MavenProject: lumo:org.eclipse.gemini.dbaccess.microsoftsqlserver:0.0.1-SNAPSHOT @ D:\Java7\lumoE4Workspace\org.eclipse.gemini.dbaccess.microsoftsqlserver\pom.xml
[INFO] Resolving dependencies of MavenProject: lumo:org.eclipse.gemini.dbaccess.microsoftsqlserver:0.0.1-SNAPSHOT @ D:\Java7\lumoE4Workspace\org.eclipse.gemini.dbaccess.microsoftsqlserver\pom.xml
[INFO] Resolving class path of MavenProject: lumo:org.eclipse.gemini.dbaccess.microsoftsqlserver:0.0.1-SNAPSHOT @ D:\Java7\lumoE4Workspace\org.eclipse.gemini.dbaccess.microsoftsqlserver\pom.xml
[INFO] Computing target platform for MavenProject: lumo:lumo.settings:0.0.1-SNAPSHOT @ D:\Java7\lumoE4Workspace\lumo.settings\pom.xml
[INFO] Resolving dependencies of MavenProject: lumo:lumo.settings:0.0.1-SNAPSHOT @ D:\Java7\lumoE4Workspace\lumo.settings\pom.xml
[INFO] Resolving class path of MavenProject: lumo:lumo.settings:0.0.1-SNAPSHOT @ D:\Java7\lumoE4Workspace\lumo.settings\pom.xml
[INFO] Computing target platform for MavenProject: lumo:lumo.components:0.0.1-SNAPSHOT @ D:\Java7\lumoE4Workspace\lumo.components\pom.xml
[INFO] Resolving dependencies of MavenProject: lumo:lumo.components:0.0.1-SNAPSHOT @ D:\Java7\lumoE4Workspace\lumo.components\pom.xml
[INFO] Resolving class path of MavenProject: lumo:lumo.components:0.0.1-SNAPSHOT @ D:\Java7\lumoE4Workspace\lumo.components\pom.xml
[INFO] Computing target platform for MavenProject: lumo:lumo.osgi.service.dialog:0.0.1-SNAPSHOT @ D:\Java7\lumoE4Workspace\lumo.osgi.service.dialog\pom.xml
[INFO] Resolving dependencies of MavenProject: lumo:lumo.osgi.service.dialog:0.0.1-SNAPSHOT @ D:\Java7\lumoE4Workspace\lumo.osgi.service.dialog\pom.xml
[INFO] Resolving class path of MavenProject: lumo:lumo.osgi.service.dialog:0.0.1-SNAPSHOT @ D:\Java7\lumoE4Workspace\lumo.osgi.service.dialog\pom.xml
[INFO] Computing target platform for MavenProject: lumo:lumo.osgi.service.dialog.impl:0.0.1-SNAPSHOT @ D:\Java7\lumoE4Workspace\lumo.osgi.service.dialog.impl\pom.xml
[INFO] Resolving dependencies of MavenProject: lumo:lumo.osgi.service.dialog.impl:0.0.1-SNAPSHOT @ D:\Java7\lumoE4Workspace\lumo.osgi.service.dialog.impl\pom.xml
[INFO] Cannot complete the request. Generating details.
[INFO] Cannot complete the request. Generating details.
[INFO] {osgi.ws=win32, osgi.os=win32, osgi.arch=x86, org.eclipse.update.install.features=true}
[ERROR] Cannot resolve project dependencies:
[ERROR] Software being installed: lumo.osgi.service.dialog.impl 0.0.1.qualifier
[ERROR] Missing requirement: lumo.core.runtime 0.0.1.qualifier requires 'bundle ca.odell.glazedlists 1.9.0' but it could not be found
[ERROR] Cannot satisfy dependency: lumo.osgi.service.dialog.impl 0.0.1.qualifier depends on: bundle lumo.core.runtime 0.0.1
[ERROR]
[ERROR] Internal error: java.lang.RuntimeException: "No solution found because the problem is unsatisfiable.": ["Unable to satisfy dependency from lumo.core.runtime 0.0.1.qualifier to bundle ca.odell.glazedlists 1.9.0.", "Unable to satisfy dependency from org.eclipse.nebula.widgets.nattable.extension.glazedlists 1.0.1.201307031725 to package ca.odell.glazedlists 0.0.0.", "Unable to satisfy dependency from org.eclipse.nebula.widgets.nattable.extension.glazedlists 1.0.1.201307031725 to package ca.odell.glazedlists.event 0.0.0.", "Unable to satisfy dependency from org.eclipse.nebula.widgets.nattable.extension.glazedlists 1.0.1.201307031725 to package ca.odell.glazedlists.gui 0.0.0.", "Unable to satisfy dependency from org.eclipse.nebula.widgets.nattable.extension.glazedlists 1.0.1.201307031725 to package ca.odell.glazedlists.matchers 0.0.0.", "Unable to satisfy dependency from org.eclipse.nebula.widgets.nattable.extension.glazedlists 1.0.1.201307031725 to package ca.odell.glazedlists.util.concurrent 0.0.0.", "No solution found because the problem is unsatisfiable."] -> [Help 1]
org.apache.maven.InternalErrorException: Internal error: java.lang.RuntimeException: "No solution found because the problem is unsatisfiable.": ["Unable to satisfy dependency from lumo.core.runtime 0.0.1.qualifier to bundle ca.odell.glazedlists 1.9.0.", "Unable to satisfy dependency from org.eclipse.nebula.widgets.nattable.extension.glazedlists 1.0.1.201307031725 to package ca.odell.glazedlists 0.0.0.", "Unable to satisfy dependency from org.eclipse.nebula.widgets.nattable.extension.glazedlists 1.0.1.201307031725 to package ca.odell.glazedlists.event 0.0.0.", "Unable to satisfy dependency from org.eclipse.nebula.widgets.nattable.extension.glazedlists 1.0.1.201307031725 to package ca.odell.glazedlists.gui 0.0.0.", "Unable to satisfy dependency from org.eclipse.nebula.widgets.nattable.extension.glazedlists 1.0.1.201307031725 to package ca.odell.glazedlists.matchers 0.0.0.", "Unable to satisfy dependency from org.eclipse.nebula.widgets.nattable.extension.glazedlists 1.0.1.201307031725 to package ca.odell.glazedlists.util.concurrent 0.0.0.", "No solution found because the problem is unsatisfiable."]
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:168)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: java.lang.RuntimeException: "No solution found because the problem is unsatisfiable.": ["Unable to satisfy dependency from lumo.core.runtime 0.0.1.qualifier to bundle ca.odell.glazedlists 1.9.0.", "Unable to satisfy dependency from org.eclipse.nebula.widgets.nattable.extension.glazedlists 1.0.1.201307031725 to package ca.odell.glazedlists 0.0.0.", "Unable to satisfy dependency from org.eclipse.nebula.widgets.nattable.extension.glazedlists 1.0.1.201307031725 to package ca.odell.glazedlists.event 0.0.0.", "Unable to satisfy dependency from org.eclipse.nebula.widgets.nattable.extension.glazedlists 1.0.1.201307031725 to package ca.odell.glazedlists.gui 0.0.0.", "Unable to satisfy dependency from org.eclipse.nebula.widgets.nattable.extension.glazedlists 1.0.1.201307031725 to package ca.odell.glazedlists.matchers 0.0.0.", "Unable to satisfy dependency from org.eclipse.nebula.widgets.nattable.extension.glazedlists 1.0.1.201307031725 to package ca.odell.glazedlists.util.concurrent 0.0.0.", "No solution found because the problem is unsatisfiable."]
at org.eclipse.tycho.p2.resolver.AbstractResolutionStrategy.newResolutionException(AbstractResolutionStrategy.java:98)
at org.eclipse.tycho.p2.resolver.ProjectorResolutionStrategy.resolve(ProjectorResolutionStrategy.java:88)
at org.eclipse.tycho.p2.resolver.AbstractResolutionStrategy.resolve(AbstractResolutionStrategy.java:63)
at org.eclipse.tycho.p2.impl.resolver.P2ResolverImpl.resolveDependencies(P2ResolverImpl.java:126)
at org.eclipse.tycho.p2.impl.resolver.P2ResolverImpl.resolveDependencies(P2ResolverImpl.java:81)
at org.eclipse.tycho.p2.resolver.P2TargetPlatformResolver.doResolvePlatform(P2TargetPlatformResolver.java:374)
at org.eclipse.tycho.p2.resolver.P2TargetPlatformResolver.resolveDependencies(P2TargetPlatformResolver.java:350)
at org.eclipse.tycho.core.resolver.DefaultTychoDependencyResolver.resolveProject(DefaultTychoDependencyResolver.java:109)
at org.eclipse.tycho.core.maven.TychoMavenLifecycleParticipant.afterProjectsRead(TychoMavenLifecycleParticipant.java:82)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:274)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
... 11 more
<?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>
<groupId>lumo</groupId>
<artifactId>lumo-e4</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
<tycho.version>0.18.0</tycho.version>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<encoding>UTF-8</encoding>
</properties>
<modules>
<module>lumo.target</module>
<module>microsoftsqlserver</module>
<module>org.eclipse.gemini.dbaccess.microsoftsqlserver</module>
<module>lumo.settings</module>
<module>lumo.components</module>
<module>lumo.osgi.service.dialog</module>
<module>lumo.osgi.service.dialog.impl</module>
<module>lumo.osgi.service.notification</module>
<module>lumo.osgi.service.notification.impl</module>
<module>lumo.core.runtime</module>
<module>lumo.rcp</module>
<module>lumo.model</module>
<module>lumo.site</module>
<module>lumo.feature</module>
</modules>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-maven-plugin</artifactId>
<version>${tycho.version}</version>
<extensions>true</extensions>
</plugin>
<!-- Use custom target platform -->
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<version>${tycho.version}</version>
<configuration>
<target>
<artifact>
<groupId>${project.groupId}</groupId>
<artifactId>lumo.target</artifactId>
<version>${project.version}</version>
</artifact>
</target>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>kepler</id>
<layout>p2</layout>
<url>http://download.eclipse.org/releases/kepler</url>
</repository>
</repositories>
</project>
答案 0 :(得分:2)
您的目标平台似乎在Eclipse中包含ca.odell.glazedlists
但在Tycho中不包含,因为该捆绑包是通过Tycho不支持的机制包含的。日志中有一条警告告诉您:
[WARNING] Target location type: Directory is not supported
[WARNING] Target location type: Profile is not supported
[WARNING] Target location type: Directory is not supported
您需要更改目标定义文件,使其仅使用“软件站点”位置。
答案 1 :(得分:0)
也有可能是:
答案 2 :(得分:-1)
,如果你这样配置:
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<configuration>
<pomDependencies>consider</pomDependencies>
</configuration>
</plugin>
它将解决pom中配置的依赖项的依赖关系。否则,它将解决MANIFEST文件中条目的依赖关系