当前位置: 首页 > 面试题库 >

如何使用指定的classpath从命令行运行jar中的类

勾炳
2023-03-14
问题内容

我正在尝试从JAR运行课程。此类不是此jar中唯一的主类。另外,它还需要其他数量的jar文件,这些文件与该Jar保存在同一目录中。我尝试过的命令如下:

(使用Windows平台,mydir是我所有jar所在的目录)

mysql-connector- java-5.1.13-bin.jarmyProjImport.jar运行所需的,com.mycomp.myProj.importer.csv.TestImporter是我要运行的课程。
"C:\Documents and Settings\user\workspace\myProjImport\src\conf\datasource.properties"并且"C:\temp\apollo_claims_test.txt"是由类所需的命令行参数TestImporter
下面是我曾尝试:

mydir>java -cp C:\temp\test_myProj\mysql-connector-java-5.1.13-bin.jar;. myProjImport.jar com.mycomp.myProj.importer.csv.TestImporter "C:\Documents and Settings\user\workspace\myProjImport\src\conf\datasource.properties" "C:\temp\apollo_claims_test.txt"

这是错误:

Exception in thread "main" java.lang.NoClassDefFoundError: myProjImport/jar
Caused by: java.lang.ClassNotFoundException: myProjImport.jar
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: myProjImport.jar.  Program will exit.

有人可以告诉我我应该运行什么命令吗?


问题答案:

尝试:

java -cp C:\temp\test_myProj\mysql-connector- java-5.1.13-bin.jar;myProjImport.jar com.mycomp.myProj.importer.csv.TestImporter "C:\Documents and Settings\user\workspace\myProjImport\src\conf\datasource.properties" "C:\temp\apollo_claims_test.txt

提供您从与myProjImport.jar相同的目录运行



 类似资料:
  • 我已经编译了一个JAR文件,并在清单中指定了Main-Class(我使用了Eclipse导出函数)。我的依赖项都在一个标记为的目录中。在指定JAR文件应该使用作为类路径的同时,我似乎无法得到如何执行JAR文件的直接答案。 我试过: 等等。 每一个都给出一个错误: 或者给出指示未找到库。 我甚至尝试重做JAR文件并包含目录和内容,但仍然没有任何结果。 我如何从命令行执行一个JAR文件并指定要使用的类

  • 我使用Java Jersey框架(与Maven一起使用),并使用IntelliJ作为IDE。我遇到过这个运行时异常,它只发生在尝试从命令行运行代码时(使用maven编译,然后使用Java-JAR),但在IntelliJ中运行时不会发生,这很奇怪。 我有一些Java代码,它将尝试使HTTP访问某个远程URL,并尝试将返回的JSON读入某个Lombok POJO: 正如我之前提到的,奇怪的是,只有当我

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

  • 问题内容: 当前,在用于创建用于分发代码的jar的工作流中,我: 在Eclipse中右键单击我的项目 选择“导出” 选择“ JAR文件” 取消选中顶级文件,例如.classpath,.project 仅检查“导出生成的类文件” 点击“完成” 这样可以确保.class文件是最新的并创建jar。我想从命令行执行相同的操作,但是大多数用于创建jar的文档似乎只是在破坏已经存在的文件,而没有创建.clas

  • 有人能发布详细的分步说明如何安装Saxon(10 HE)以及如何从MacOS(10.13.6)中的命令行运行转换吗? 我已经在我的计算机上安装了Java 我已经下载了SaxonHE10-6J。来自SourceForge的zip文件 根据这里的建议,我放置了saxon-he-10.6。jar位于myUserName/Library/Java/Extensions文件夹中 然后,我打开终端应用程序并根

  • 我知道以前有人问过这个问题,但是那里的信息都没有帮助我。 我的情况是:我无法运行编译后的Kotlin类。当我尝试像运行普通java类一样运行它时,我得到了以下结果: 这让我相信,考虑到这个输出,Kotlin运行时根本就不存在。所以我尝试了以下方法: 这让我想到,也许我需要将类文件添加到我声明的类路径中,所以: 我错过了什么?