maven 运行JPOS Q2时是否发现NoClassDefError?

hjzp0vay  于 2023-02-15  发布在  Maven
关注(0)|答案(2)|浏览(178)

第一次尝试通过Maven / Intellij设置JPOS Q2,遇到错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/osgi/framework/BundleException
at Q2_Main.main(Q2_Main.java:6)
Caused by: java.lang.ClassNotFoundException: org.osgi.framework.BundleException
    at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
    ... 1 more

Process finished with exit code 1

我通过maven下载了JPOS,我尝试查看了许多线程,但无法自行解决该错误

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 

http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>Q2_JPOS_TEST</artifactId>
    <version>1.0-SNAPSHOT</version>

<properties>
    <maven.compiler.source>8</maven.compiler.source>
    <maven.compiler.target>8</maven.compiler.target>
</properties>

<dependencies>
    <dependency>
        <groupId>org.jpos</groupId>
        <artifactId>jpos</artifactId>
        <version>2.1.6</version>
    </dependency>
</dependencies>
</project>

我在我的外部库中看到它
jpos in external library

import org.jpos.q2.Q2;

public class Q2_Main {

public static void main(String[] args){
    Q2 q2 = new Q2("src/main/java/deploy");
    q2.start();
}

}

8tntrjer

8tntrjer1#

我检查了maven仓库,你正在尝试使用的库jpos 2.1.6(https://mvnrepository.com/artifact/org.jpos/jpos/2.1.6),我发现它有一系列的运行时依赖项,从你发布的stacktrace判断,你似乎错过了org.osgi.core 6.0.0,确保你的类路径中有所有需要的运行时依赖项。

kadbb459

kadbb4592#

下面是我为调整您的代码所做的一步一步的操作:
1.创建一个空文件夹/tmp/test-jpos
1.将文件pom.xml与您共享的内容写入其中。
1.在IntelliJ菜单文件-〉打开中,打开/tmp/test-jpos文件夹
1.创建目录src/main/java
1.在该目录中创建包含共享内容的文件Q2_Main.java
1.点击播放运行按钮(绿色三角形)运行项目
有了这些台阶,它跑得还可以。
然而,这不是运行Q2的推荐方式,我将在后面对此进行详细介绍。

相关问题