如何使用命令行从指定了类路径的jar运行类

Bhu*_*han 2 java jar classpath noclassdeffounderror executable-jar

我正在尝试从JAR运行一个类.这个类不是这个jar中唯一的主类.此外,它需要许多其他jar文件,我保存在与此Jar相同的目录中.我尝试过的命令如下:

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

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"是类所需的命令行参数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"
Run Code Online (Sandbox Code Playgroud)

这是错误:

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.
Run Code Online (Sandbox Code Playgroud)

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

Kar*_*ran 8

尝试:

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相同的目标运行它

  • 正确的想法,将myProjImport.jar添加到类路径.但是在Windows上使用`;`分隔符. (4认同)