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

使用完整的Java路径从命令提示符执行可运行的jar

商辰钊
2023-03-14

要执行一个jar命令,请使用>Java-jar jar-file-name.jar

如果JAVA_HOME版本与使用构建的jar文件的JDK版本匹配,则工作很好。否则会给出以下错误。

Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:626)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:247)
        at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:56)

我有一个在JDK1.8中构建的第三方jar,在这个JDK上我没有任何控制权来更改和重建JDK版本。

我有一台unix机器,其中的JAVA_HOME设置为JDK1.5。而我的应用程序是部署在同一台机器中的其他几个应用程序之一。所以我不能将JAVA_HOME更改为指向JDK1.8,这可能会破坏其他应用程序。

我知道系统中安装JDK1.8的路径。

是否有方法引用JDK完整路径(未设置为JAVA_HOME)并执行JAR。

如有任何帮助,我们将不胜感激。

共有2个答案

李安歌
2023-03-14
/path/to/jdk/bin/java -jar jar-file-name.jar
方心思
2023-03-14

因此,据我所知,你的系统上有两个不同的Java版本,1.5版本被用作你的默认Java。但对于你的新罐子,你需要1.8开始?

您应该使用到1.8 Java的绝对路径来启动它,如下所示:

/opt/java/1_8/bin/java-jar jar-file-name.jar

 类似资料:
  • 问题内容: 我有一个Maven项目,该项目生成一个jar文件并将所有依赖项复制到文件夹。我想在客户端计算机(Windows)上执行该项目。因此,我将复制到文件夹,并将所有依赖项复制到文件夹。如何从客户端的命令提示符下执行此项目?我尝试从文件夹中使用,但是会引发以下错误。 我想,如果我在classpath中指定所有依赖项(如),它将解决此问题,但是我不想这样做,因为我已经有40个库,并且在将来的版本

  • 我遇到了从命令提示符运行java程序的问题。我有一个名为DataRecover的java文件,还有一个名为Triple的java文件。现在,当我在命令提示符下运行javac triple.java时,它会执行它应该执行的操作。但是,当我运行javac DataRecover.java时,它会出现这样的错误消息:“线程”main“java.lang.noClassDeffounderRror:Dat

  • 好吧,我是新来的Java,并试图从命令提示符运行一个java程序(因为Sublime编译和运行它的小东西,但不允许用户输入和东西)。 我将命令提示符设置为我有我的文件的文件夹,称为Learner.java. 我在环境变量中为JDK bin设置了一个路径,并创建了一个JAVA_HOME变量,其中包含JDK bin的值(其他一些帖子建议)。 在我讨论这个问题之前,这是我的代码: 如你所见,这是一个以“

  • 我能够从我的eclipse运行应用程序,但是当我创建jar时,尝试从命令提示符运行它会产生错误。我正在使用Java1.8和eclipse kepler 我得到了低于错误

  • 问题内容: 我已经编译了一个JAR文件,并在清单中指定了Main-Class(我使用了Eclipse Export函数)。我的依赖项都在标有的目录中。在指定应将JAR文件用作类路径的同时,我似乎无法获得关于如何执行我的JAR文件的直接答案。 我试过了: 等等… 每个都给出一个错误说: 或NoClassDefFoundError指示未找到库。 我什至尝试重新制作JAR文件,并包括lib目录和内容,但

  • 当我尝试从项目从命令提示符运行项目时,我有主菜单测试用例已经失败的异常。 java-cp c:\users\eclipse-workspac\ctv_web_auto_check\bin;c:\users\eclipse-workspace\ctv_web_auto_check\lib*org.testng.testng testng.xml