在自动构建中从现有 jar 创建 Eclipse 插件

发布于 2024-11-16 01:33:40 字数 176 浏览 4 评论 0原文

我想让 Eclipse RCP 插件的构建过程完全自动化。它有一些第三方 jar 依赖项(可从 Maven 存储库获取),这些依赖项未作为 OSGi 捆绑包分发,目前我使用“来自现有 JAR 存档的 Eclipse 插件”向导来手动转换它们。 PDEBuild 或 Maven/Tycho(或者其他构建系统)可以将其作为构建的一个步骤吗?

I want to make the build process for my Eclipse RCP plugin fully automatic. It has some third-party jar dependencies (available from Maven repositories) which are not distributed as OSGi bundles, and currently I use the "Eclipse plugin from existing JAR archives" wizard to convert them manually. Can PDEBuild or Maven/Tycho (or perhaps some other build system) do it as a step of the build?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

や三分注定 2024-11-23 01:33:40

Peter Tillemans 在 PAX 包装 jar 命令中提到a href="https://stackoverflow.com/questions/3594024/how-to-create-osgi-bundle-from-jar-library">这篇文章

来自 Apache Felix 的 Maven 捆绑插件 可能值得一试你也看看。

也许是 Bundlor 工具 也可以处理从 jar 中创建 osgi 包。

Peter Tillemans mentioned the PAX wrap jar command in this post

The Maven bundle plugin from Apache Felix may be worth a look, too.

Maybe the Bundlor tool from SpringSource can handle the creation of osgi bundles from jar, too.

以为你会在 2024-11-23 01:33:40

查看我开发的 p2-maven-plugin。它是一个开源、社区友好的插件,可以处理:

  • 包装不是 OSGi 包的 jar(完全可定制)
  • 生成可在 Eclipse PDE 中使用的功能齐全的 p2 更新站点 生成
  • 相应的 p2 更新站点源包(它为所有包生成源包)

详细信息和文档可以在这里找到:http://projects.reficio.org/p2-maven-plugin/manual.html

示例用法:

<plugin>
    <groupId>org.reficio</groupId>
    <artifactId>p2-maven-plugin</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <executions>
        <execution>
            <id>default-cli</id>
            <configuration>
                <artifacts>
                    <!-- specify your depencies here -->
                    <!-- groupId:artifactId:version -->
                    <artifact><id>commons-io:commons-io:2.1</id></artifact>
                    <artifact><id>commons-lang:commons-lang:2.4</id></artifact>
                    <artifact><id>commons-lang:commons-lang:2.5</id></artifact>
                    <artifact><id>commons-lang:commons-lang:2.6</id></artifact>
                    <artifact><id>org.apache.commons:commons-lang3:3.1</id></artifact>
                </artifacts>
            </configuration>
        </execution>
    </executions>
</plugin>

Checkout the p2-maven-plugin developed by me. It's an open-source, community-friendly plugin that handles:

  • the wrap of the jars that are not OSGi bundles (that's fully customizable)
  • the generation a fully functional p2-update site that may be consumed in the Eclipse PDE
  • the generation of the corresponding source bundles (it generates source bundles for all the bundles)

Details and the documentation could be find here: http://projects.reficio.org/p2-maven-plugin/manual.html

Sample usage:

<plugin>
    <groupId>org.reficio</groupId>
    <artifactId>p2-maven-plugin</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <executions>
        <execution>
            <id>default-cli</id>
            <configuration>
                <artifacts>
                    <!-- specify your depencies here -->
                    <!-- groupId:artifactId:version -->
                    <artifact><id>commons-io:commons-io:2.1</id></artifact>
                    <artifact><id>commons-lang:commons-lang:2.4</id></artifact>
                    <artifact><id>commons-lang:commons-lang:2.5</id></artifact>
                    <artifact><id>commons-lang:commons-lang:2.6</id></artifact>
                    <artifact><id>org.apache.commons:commons-lang3:3.1</id></artifact>
                </artifacts>
            </configuration>
        </execution>
    </executions>
</plugin>
小巷里的女流氓 2024-11-23 01:33:40

看一下第三方 jar 与其捆绑的等效项之间的差异。它只是一个额外的plugin.xml 和清单中的一些额外行。

编写您自己的代码来捆绑 jar。

Take a look on the differences between the thirdparty jar and its bundled equivalence. It's just an additional plugin.xml and a few extra lines in the manifest.

Write your own code for bundling jars.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文