gpt4 book ai didi

maven - 使用不是 Tycho 构建中的包的库中的注释

转载 作者:行者123 更新时间:2023-12-01 05:19:05 24 4
gpt4 key购买 nike

我正在使用 Tycho 构建一个 Eclipse 插件,并且正在为我的 OSGi 服务使用声明性服务。 Eclipse 有一个很好的 DS 文件编辑器,但它仍然是一个手动过程,这意味着它很慢并且容易出错。

在非第谷 OSGi 项目中,我可以使用 maven-scr-plugin生成这些注释。第谷的问题是我不能添加对 org.apache.felix.annotations 的引用。 jar ,因为它是

  • 不存在于 p2 存储库中
  • 不是捆绑

  • 这些注释是用 RetentionPolicy = CLASS 定义的。 ,因此它们不必捆绑在一起。

    我知道 dependency on pom-first artifacts ,但它对我不起作用,因为注释 jar 不是捆绑包。理想情况下,我可以配置 Tycho/Eclipse 以在编译时查找额外的 jar。

    如何获得 Tycho 和 Eclipse 考虑的仅编译时 jar?

    更新 :我尝试使用 extraClasspathElements tycho-compiler-plugin 的选项.这确实允许我调用 maven-scr-plugin (见 the current pom.xml)。但是,似乎 scr 插件无法访问这些类,因为构建失败

    [ERROR] Failed to execute goal org.apache.felix:maven-scr-plugin:1.13.0:scr (generate-scr-descriptor) on project org.apache.sling.ide.eclipse-core: /mnt/md/robert/git/sling-ide-tools/eclipse-core/src/org/apache/sling/ide/eclipse/core/ServerUtil.java : Unable to load compiled class: org.apache.sling.ide.eclipse.core.ServerUtil



    您还可以查看 full build log

    最佳答案

    由于您使用的是 Tycho/Eclipse,您可能希望使用“org.eclipse.equinox.ds”而不是“org.apache.felix.annotations”。如果我理解正确, org.eclipse.equinox.ds 是一个包。第谷常见问题解答也提到了这一点:

    http://wiki.eclipse.org/Tycho/FAQ#How_to_add_a_undeclared_dependency.3F__.28e.g..2C_OSGi_declarative_service.29

    编辑:

    http://eclipse.org/tycho/sitedocs/tycho-compiler-plugin/compile-mojo.html#extraClasspathElements

    EDIT2:发生了很多变化。如果时间允许,我会更新我的答案。同时检查评论线程=)

    关于maven - 使用不是 Tycho 构建中的包的库中的注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17835007/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com