Maven:“由以下原因引起:java.lang.NoClassDefFoundError:com/omnesys/omne/om/OMN" [英] Maven : "Caused by: java.lang.NoClassDefFoundError: com/omnesys/omne/om/OMN"

查看:121
本文介绍了Maven:“由以下原因引起:java.lang.NoClassDefFoundError:com/omnesys/omne/om/OMN"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想将第3方外部jar添加到我的Maven存储库中.我的项目在Spring Boot中.

错误:

线程主"中的

 `Exception java.lang.reflect.InvocationTargetException在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处在sun.reflect.NativeMethodAccessorImpl.invoke(未知来源)在sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)在java.lang.reflect.Method.invoke(未知来源)在org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)在org.springframework.boot.loader.Launcher.launch(Launcher.java:87)在org.springframework.boot.loader.Launcher.launch(Launcher.java:51)在org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:52)引起原因:java.lang.NoClassDefFoundError:com/omnesys/omne/om/OMNM在java.lang.Class.getDeclaredConstructors0(本地方法)在java.lang.Class.privateGetDeclaredConstructors(未知来源)在java.lang.Class.getConstructor0(未知来源)在java.lang.Class.newInstance(未知来源)在com.omnesys.nestq.classes.ClassNestQ12上.< init>(ClassNestQ12.java:28)位于com.omnesys.nestq.classes.NestControl.< init>(NestControl.java:39)在orion.ibclient.OmnesysJAPI.< init>(OmnesysJAPI.java:69)在orion.TradingProgram.connectToNest(TradingProgram.java:452)在orion.TradingProgram.main(TradingProgram.java:90)在com.orion.main.OrionController.loadPrperty(OrionController.java:39)在com.orion.main.NestOrionApplication.main(NestOrionApplication.java:21)...另外8个引起原因:java.lang.ClassNotFoundException:com.omnesys.omne.om.OMNM在java.lang.ClassLoader.findClass(未知来源)在java.lang.ClassLoader.loadClass(未知来源)在java.lang.ClassLoader.loadClass(未知来源)...还有19个` 

我已经完成了以下操作,但仍然遇到相同的错误.

注意:它适用于其他jar,但不仅适用于此jar.就像DealerSample.jar一样,它可以工作,但不能用于此jar.您可以在下图中看到差异.当我通过构建路径在Simple java项目中添加相同的jar时,它的工作正常,但在Spring Boot项目中却没有.

  1. 添加外部jar:

    解决方案

    为什么不尝试 Nexus存储库经理?尽管这种方法可能是漫长而复杂的.但是我认为这是解决您问题的最佳,持久的解决方案.我已经使用了很多次,发现它很有帮助.

    I want to add 3rd party external jar into my maven repository. My project is in Spring Boot.

    Error :

    `Exception in thread "main" java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
            at java.lang.reflect.Method.invoke(Unknown Source)
            at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner
    .java:48)
            at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
            at org.springframework.boot.loader.Launcher.launch(Launcher.java:51)
            at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:52)
    
    Caused by: java.lang.NoClassDefFoundError: com/omnesys/omne/om/OMNM
            at java.lang.Class.getDeclaredConstructors0(Native Method)
            at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
            at java.lang.Class.getConstructor0(Unknown Source)
            at java.lang.Class.newInstance(Unknown Source)
            at com.omnesys.nestq.classes.ClassNestQ12.<init>(ClassNestQ12.java:28)
            at com.omnesys.nestq.classes.NestControl.<init>(NestControl.java:39)
            at orion.ibclient.OmnesysJAPI.<init>(OmnesysJAPI.java:69)
            at orion.TradingProgram.connectToNest(TradingProgram.java:452)
            at orion.TradingProgram.main(TradingProgram.java:90)
            at com.orion.main.OrionController.loadPrperty(OrionController.java:39)
            at com.orion.main.NestOrionApplication.main(NestOrionApplication.java:21
    )
            ... 8 more
    Caused by: java.lang.ClassNotFoundException: com.omnesys.omne.om.OMNM
            at java.lang.ClassLoader.findClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            ... 19 more`
    

    I had done following things but still I am getting the same error.

    NOTE : It working for other jar but not worked only for this jar. Like for DealerSample.jar its working but not working for this jar. You can see the difference in below picture. When I added the same jar in Simple java project through Build path its working but not in Spring Boot project.

    1. Add external jar : https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html : Added my jar to .m2 folder and add dependancy into maven.

    Maven Command : mvn install:install-file -Dfile=D:\Vijay\Jars\OmneVerse.15.0.0.0.jar -DgroupId=com.orion -DartifactId=OmneVerse -Dversion=1.0.0 -Dpackaging=jar -DgeneratePom=true

    Pom.xml:

        <dependencies>
            <dependency>
                <groupId>com.orion</groupId>
                <artifactId>OmneVerse</artifactId>
                <version>1.0.0</version>
            </dependency>
        </dependencies>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <executions>
                        <execution>
                            <goals>
                                <goal>repackage</goal>
                            </goals>
                        </execution>
                    </executions>
                <configuration>
                    <includeSystemScope>true</includeSystemScope>
                </configuration>
            </plugin>
        </plugins>
    </build>
    

    My Project Libs structure :

    解决方案

    Why not try Nexus Repository Manager? Though this approach may be long and complex. But I think it is the best and lasting solution to your problem. I have used it many times and find it very helpful.

    这篇关于Maven:“由以下原因引起:java.lang.NoClassDefFoundError:com/omnesys/omne/om/OMN"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆