Мой файл JAR отлично работает в Windows, но в Linux он выдает «Исключение в потоке« основной »java.lang.NoClassDefFoundError: javax / jms / JMSException» - PullRequest
0 голосов
/ 16 мая 2019

Я пробую прототип службы Spring + IBM MQ. Я могу успешно запустить и попасть в очередь сообщений и получить ответ в Windows с файлом JAR, созданным с помощью Maven.

Но как только я перемещаю этот jar-файл в окно Linux и пытаюсь нажать на приведенную ниже команду, он выдает исключение. При этом прилагаю всю необходимую информацию. Любая помощь очень ценится, ребята.!

Я застрял в течение долгого времени. :-(

Java JDK 1,7
Eclipse Oxygen

IBM MQ 8.0.0.4 (пробная версия)

pom.xml:

<dependency>
            <groupId>javax.jms</groupId>
            <artifactId>javax.jms-api</artifactId>
            <version>2.0</version>
        </dependency>

         <dependency>
            <groupId>com.ibm</groupId>
            <artifactId>com.ibm.mqjms</artifactId>
            <version>${webSphereMQVersion}</version>
        </dependency> 
        <dependency>
            <groupId>com.ibm</groupId>
            <artifactId>com.ibm.mq.jmqi</artifactId>
            <version>${webSphereMQVersion}</version>
        </dependency>
        <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>${springJMSVersion}</version>
    </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jms</artifactId>
            <version>${springJMSVersion}</version>
        </dependency>

Успешный вывод, который я получаю в Windows: Successful Run in Eclipse

исключение в Linux box:

[pts/0][17:32:53:oracle@abcdefgh ] ~/ABC/MQQueue>java -jar springjms-0.0.1.jar
Exception in thread "main" java.lang.NoClassDefFoundError: javax/jms/JMSException
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Class.java:2625)
        at java.lang.Class.getMethod0(Class.java:2866)
        at java.lang.Class.getMethod(Class.java:1676)
        at sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:494)
        at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:486)
Caused by: java.lang.ClassNotFoundException: javax.jms.JMSException
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        ... 6 more

...