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

在karaf中部署第三方jar文件时出错

单于煌
2023-03-14
<plugins>
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <extensions>true</extensions>
                <configuration>
                    <instructions>
                        <Bundle-SymbolicName>mybundlename</Bundle-SymbolicName>
                        <Embed-Dependency>jar1,jar2,jar3,jar4</Embed-Dependency>

                    </instructions>
                </configuration>
            </plugin>
        </plugins>

共有1个答案

东方旺
2023-03-14

重要的不是类中的包导入,而是包清单中的包导入。

如果您的代码在OSGi容器之外工作,那么这意味着在您的特定使用场景中,在运行时不需要导入的包。或者根本不要求,应该清理。

您要么必须部署一个bundle以满足导入,要么在构建bundle时必须取消com.java.test.io的导入。通过maven-bundle-plugin,您可以实现如下所示:

<instructions>
    <Embed-Dependency>...</Embed-Dependency>
    <Import-Package>
        !com.java.test.io.*,
        *
    </Import-Package>
</instructions>
 类似资料:
  • 我有一个pom.xml文件,这里有一些第三方jar依赖项和一些项目相关的jar。我只需要将第三方jar部署到artifactory中,而不是所有的jar。

  • 于是我就开始了实现这些依赖的“兔子洞”。基于maven页面,我将features.xml文件放在一起: 现在,当我尝试安装它时,我得到: 我觉得这可能和equinox vs Felix有关?我只是使用默认的Karaf设置,并使用内置的Netbeans Maven项目创建包,对于OSGI世界来说,我还是比较新的。在大多数情况下,我可以启动和运行bundle,并为一个应用程序建立了一个基本的集合,但这

  • 我试图为应用程序创建一个可执行的.jar文件,但是当我运行“java-jar myapp.jar”时,我得到了错误: 错误:找不到或加载main类com.vaadin.app.MainView 我已经在pom.xml中添加了mainClass参数,MANIFEST.MF显示了以下内容: Main-Class:com.vaadin.app.MainView 在我的类中找不到方法的原因吗?

  • 我是Hadoop的新手。我已将Gson API添加到我的Map减少程序中。当我运行程序获取时; 有谁能建议我如何向Hadoop添加第三方库吗?

  • 我正在完成一个项目,我必须将它部署为一个jar文件,在eclipse中它工作得很好,我的项目依赖于两个库,这两个库也都依赖于dll文件。我已经将这些DLL的路径添加到每个外部JAR的本机库位置。然后,我使用eclipse可运行的jar文件导出向导将project导出为一个jar文件我在指定的位置得到了jar文件,它运行了,但是当我单击一个调用我得到的库之一的按钮时,我得到了java.lang.Un

  • 我是部署新手,我已经将jar文件作为一个包,我应该如何在prod服务器中进行部署? 我的prod服务器基本上是运行在AWS上的EC2机器 我应该运行java-jar“jar文件”吗?这是prod服务器的实践方式吗? 我应该将. jar文件打包到ears/war并部署在tomcat/jboss服务器中吗? 感谢您的帮助!