当前位置: 首页 > 知识库问答 >
问题:

如何将jar非osgi jar文件作为依赖添加到eclipse插件中?

孔飞舟
2023-03-14

我正在使用tycho build开发一个eclipse插件,它需要一些非osgi jar文件作为依赖项。当我在我的pom文件中添加依赖项时,它不会在maven build期间获取依赖项。因此,我尝试使用下面的插件制作一个包含所有必需依赖项的osgi包。

<plugin>
    <groupId>org.apache.felix</groupId>
            <artifactId>maven-bundle-plugin</artifactId>
            <version>1.4.0</version>
            <extensions>true</extensions>
            <configuration>
                <manifestLocation>META-INF</manifestLocation>
                <instructions>
                    <Bundle-SymbolicName>Osgi-bundle</Bundle-SymbolicName>
                    <Bundle-Name>Osgi-dependency</Bundle-Name>
                    <Bundle-Version>1.0.0</Bundle-Version>
                    <Export-Package>*</Export-Package>
                    <Private-Package>com.foo.bundle</Private-Package>
                    <Bundle-Activator>com.foo.bundle.Activator</Bundle-Activator>
                    <Import-Package>*;resolution:=optional</Import-Package>

                    <Embed-Dependency>*;scope=compile|runtime;inline=true</Embed-Dependency>
                    <Embed-Directory>target/dependency</Embed-Directory>
                    <Embed-StripGroup>true</Embed-StripGroup>
                    <Embed-Transitive>true</Embed-Transitive>
                </instructions>
            </configuration>
        </plugin>

之后,我将这个 osgi 捆绑包的依赖项提供给 eclipse 插件。但它仍然没有依赖性。我浏览过很多网站。但是我无法在持续集成中获得此maven构建的解决方案但是,当我尝试使用现有jar创建新的插件项目并添加osgi捆绑包并导出插件时。它的工作很好。但我需要连续构建。请提供一些解决方案来将依赖项添加到 eclipse 插件项目中。

共有2个答案

邓欣可
2023-03-14

一种可能的选择是使用maven依赖插件将jar下载到单独的文件夹中,在OSGi捆绑包的清单中配置类路径,并且不要忘记在构建中包含jar。

宋原
2023-03-14

我已经通过创建p2存储库并将其部署在服务器中解决了这个问题。我已经创建了一个目标定义文件,并将其链接到我的插件项目。

我们可以使用下面的代码将非osgi jars转换成p2存储库。

     <build>
        <plugins>
         <plugin>
         <groupId>org.reficio</groupId>
    <artifactId>p2-maven-plugin</artifactId>
    <version>1.1.2-SNAPSHOT</version>
    <executions>
      <execution>
        <id>default-cli</id>
        <configuration>
          <artifacts>
            <!-- specify your depencies here -->
            <!-- groupId:artifactId:version -->
            <artifact>
              <id>org.slf4j:slf4j-log4j12:1.7.10</id>
            </artifact>
          </artifacts>
        </configuration>
      </execution>
    </executions>
  </plugin>
</plugins>

'

有关详细信息,此网站非常有用。http://www.vogella.com/tutorials/EclipseTycho/article.html#convertjars

 类似资料:
  • 问题内容: 所以我尝试将本地.jar文件依赖项添加到build.gradle文件中: 你会看到我将.jar文件添加到了这里的文件夹中: 但是问题是,当我在命令行上运行命令:gradle build时,出现以下错误: 问题答案: 据文档,对本地jar依赖项使用相对路径,如下所示:

  • 问题内容: 我想将先前从其他文件(已经完成)中提取的一系列文件添加到jar中。这些文件将覆盖JAR中的文件。最有效的方法是什么?我需要它快。谢谢! 问题答案: 请记住,JAR文件是ZIP文件。 只需使用一些ZIP库。

  • 有一些相关的问题,但它们并没有完全回答这个问题: 在构建之前将jar添加到maven本地存储库 maven-assembly-plugin不添加系统作用域的依赖项

  • 我有一个依赖于2 jar文件的应用程序: 操作员界面。罐子 操作员。震击器 我想使用Maven结构构建我的项目。我按照Maven站点教程创建了如下结构: 我已经把我的源文件FileProcess.javaE:\project\src\main\java\source\app。 FileProcess在2 external中具有依赖关系。jar文件,但我不知道如何在pom中定义这种依赖关系。xml。

  • 本文向大家介绍gradle 添加本地JAR文件依赖性,包括了gradle 添加本地JAR文件依赖性的使用技巧和注意事项,需要的朋友参考一下 示例 单罐 有时您需要添加本地JAR文件作为对Gradle构建的依赖。这是您可以执行的操作: path文件系统上的目录路径在哪里,是local_dependency.jar本地JAR文件的名称。该path可以相对于构建文件。 JAR目录 也可以添加一个jar目

  • 问题内容: 我正在做一个Maven项目。当在一个想法中编译和运行我的项目时,一切都很好,但是每当我创建jar文件时,都无法将web / lib /中的外部jar文件复制到jar文件中。为什么会发生这种情况?我可以将所有文件插入jar文件吗? 问题答案: 是的,我找到了解决方案。

  • 问题内容: Eclipse设置为在“ bin”处编译为构建目录。我有一个包含各种Java .class文件(预编译)的文件夹结构,我想在编译时将其复制到文件夹“ bin”中。 如何告诉Eclipse自动执行此操作? 问题答案: 项目属性中“ Java构建路径”下的“添加类文件夹…”和“添加外部类文件夹…”按钮似乎完全可以满足您的要求。