java项目添加功能失败_java – 使用Tycho项目构建eclipse功能时偶尔会出现错误

我有一个基于OSGi的应用程序的Maven / Tycho构建,偶尔会因例外而失败.

我有大约20个eclipse功能,它似乎与实际功能没有任何关系(它可能是每次都失败的不同功能,并且通常构建工作正常)

这不是灾难,但我想在某些时候解决这个问题,而且我真的不知道如何调试这个进一步没有潜入Tycho代码或开始乱用随机设置.

这对任何人都响了吗?

系统:Fedora Linux

JVM:OpenJDK运行时环境(IcedTea6 1.11.3)(fedora-67.1.11.3.fc16-x86_64)

Maven:3.0.3

第谷:0.15.0

org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.eclipse.tycho:tycho-packaging-plugin:0.15.0:package-feature (default-package-feature) on project com.dexels.navajo.tipi.swing.feature: Execution default-package-feature of goal org.eclipse.tycho:tycho-packaging-plugin:0.15.0:package-feature failed: com.dexels.navajo:com.dexels.navajo.tipi.swing.deps:eclipse-plugin:1.2.1-SNAPSHOT does not provide an artifact with classifier 'null'

at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:225)

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:84)

at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)

at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)

at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)

at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319)

at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)

at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:79)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:616)

at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:329)

at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239)

at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:158)

at hudson.maven.Maven3Builder.call(Maven3Builder.java:98)

at hudson.maven.Maven3Builder.call(Maven3Builder.java:64)

at hudson.remoting.UserRequest.perform(UserRequest.java:118)

at hudson.remoting.UserRequest.perform(UserRequest.java:48)

at hudson.remoting.Request$2.run(Request.java:287)

at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)

at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)

at java.util.concurrent.FutureTask.run(FutureTask.java:166)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)

at java.lang.Thread.run(Thread.java:679)

Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default-package-feature of goal org.eclipse.tycho:tycho-packaging-plugin:0.15.0:package-feature failed: com.dexels.navajo:com.dexels.navajo.tipi.swing.deps:eclipse-plugin:1.2.1-SNAPSHOT does not provide an artifact with classifier 'null'

at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:110)

at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)

... 27 more

Caused by: java.lang.IllegalStateException: com.dexels.navajo:com.dexels.navajo.tipi.swing.deps:eclipse-plugin:1.2.1-SNAPSHOT does not provide an artifact with classifier 'null'

at org.eclipse.tycho.packaging.FeatureXmlTransformer$1.visitPlugin(FeatureXmlTransformer.java:62)

at org.eclipse.tycho.core.osgitools.AbstractArtifactDependencyWalker.traversePlugin(AbstractArtifactDependencyWalker.java:215)

at org.eclipse.tycho.core.osgitools.AbstractArtifactDependencyWalker.traverseFeature(AbstractArtifactDependencyWalker.java:86)

at org.eclipse.tycho.core.osgitools.AbstractArtifactDependencyWalker.traverseFeature(AbstractArtifactDependencyWalker.java:63)

at org.eclipse.tycho.packaging.FeatureXmlTransformer.transform(FeatureXmlTransformer.java:47)

at org.eclipse.tycho.packaging.PackageFeatureMojo.expandVersionQualifiers(PackageFeatureMojo.java:300)

at org.eclipse.tycho.packaging.PackageFeatureMojo.execute(PackageFeatureMojo.java:120)

at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)

... 28 more

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Tycho构建OSGi插件项目,需要遵循以下步骤: 1. 创建一个Maven项目 首先,创建一个Maven项目。在项目的pom.xml文件中添加以下内容: ```xml <groupId>com.example.osgi</groupId> <artifactId>my-osgi-plugin</artifactId> <version>1.0.0-SNAPSHOT</version> <packaging>eclipse-plugin</packaging> ``` 2. 添加Tycho插件 然后,添加Tycho插件到pom.xml中。在build标签中添加以下内容: ```xml <build> <plugins> <plugin> <groupId>org.eclipse.tycho</groupId> <artifactId>tycho-maven-plugin</artifactId> <version>2.2.0</version> <extensions>true</extensions> </plugin> </plugins> </build> ``` 3. 配置Eclipse插件 在pom.xml中添加以下内容以配置Eclipse插件: ```xml <build> <plugins> <!-- 配置Eclipse插件 --> <plugin> <groupId>org.eclipse.tycho</groupId> <artifactId>target-platform-configuration</artifactId> <version>2.2.0</version> <configuration> <resolver>p2</resolver> <target> <artifact> <groupId>org.eclipse.platform</groupId> <artifactId>ide</artifactId> <version>4.5.0</version> <classifier>linux-gtk-x86_64</classifier> </artifact> <artifact> <groupId>org.eclipse.platform</groupId> <artifactId>org.eclipse.swt.${osgi.platform}</artifactId> <version>3.104.1</version> </artifact> <artifact> <groupId>org.eclipse.equinox</groupId> <artifactId>app</artifactId> <version>1.3.200.v20160318-1642</version> </artifact> </target> </configuration> </plugin> </plugins> </build> ``` 在上面的代码中,我们指定使用p2解析器,并且指定了Eclipse插件的依赖项。 4. 编写插件代码 接下来,编写OSGi插件代码。在src/main/java目录下创建一个类,并添加bundle描述符。例如: ```java package com.example.osgi.my_osgi_plugin; import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; public class Activator implements BundleActivator { @Override public void start(BundleContext context) throws Exception { System.out.println("My OSGi plugin started."); } @Override public void stop(BundleContext context) throws Exception { System.out.println("My OSGi plugin stopped."); } } ``` 5. 打包插件 最后,打包OSGi插件。在Maven项目的根目录下运行以下命令: ``` mvn clean package ``` 这将构建一个OSGi插件,并将其打包为jar文件。 现在,您已经成功地使用Tycho构建了一个OSGi插件项目

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值