Java类路径错误: ./filename.jar:无法执行二进制文件

标签 java

当使用指定的类路径执行 java 类时,我遇到了以下问题。 我在Google上搜索了很多次解决方案,但仍然没有生效。 请给我帮助,谢谢。 以下是问题描述:

当我在 Window 上运行此命令时:

$ java -classpath appfeature.jar;args4j2.0.6.jar mava.AppClassifier class 

AppClassifier 只是将字符串“HelloWorld”打印到标准输出。但我得到了以下结果:

 $ java -classpath appfeature.jar;args4j2.0.6.jar mava.AppClassifier
Usage: java [-options] class [args...]
           (to execute a class)
   or  java [-options] -jar jarfile [args...]
           (to execute a jar file)
where options include:
    -d32          use a 32-bit data model if available
    -d64          use a 64-bit data model if available
    -server       to select the "server" VM
    -hotspot      is a synonym for the "server" VM  [deprecated]
                  The default VM is server.

    -cp <class search path of directories and zip/jar files>
    -classpath <class search path of directories and zip/jar files>
                  A ; separated list of directories, JAR archives,
                  and ZIP archives to search for class files.
    -D<name>=<value>
                  set a system property
    -verbose:[class|gc|jni]
                  enable verbose output
    -version      print product version and exit
    -version:<value>
                  require the specified version to run
    -showversion  print product version and continue
    -jre-restrict-search | -no-jre-restrict-search
                  include/exclude user private JREs in the version search
    -? -help      print this help message
    -X            print help on non-standard options
    -ea[:<packagename>...|:<classname>]
    -enableassertions[:<packagename>...|:<classname>]
                  enable assertions with specified granularity
    -da[:<packagename>...|:<classname>]
    -disableassertions[:<packagename>...|:<classname>]
                  disable assertions with specified granularity
    -esa | -enablesystemassertions
                  enable system assertions
    -dsa | -disablesystemassertions
                  disable system assertions
    -agentlib:<libname>[=<options>]
                  load native agent library <libname>, e.g. -agentlib:hprof
                  see also, -agentlib:jdwp=help and -agentlib:hprof=help
    -agentpath:<pathname>[=<options>]
                  load native agent library by full pathname
    -javaagent:<jarpath>[=<options>]
                  load Java programming language agent, see java.lang.instrument

    -splash:<imagepath>
                  show splash screen with specified image
See http://www.oracle.com/technetwork/java/javase/documentation/index.html for m
ore details.
./args4j2.0.6.jar: ./args4j2.0.6.jar: cannot execute binary file

谢谢

最佳答案

对于遇到类似问题并访问此页面的任何人,您的 jar 之间应该有逗号 (,),而不是分号 (;),因此命令应该是:

$ java -classpath appfeature.jar,args4j2.0.6.jar mava.AppClassifier class 

关于Java类路径错误: ./filename.jar:无法执行二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30932873/

相关文章:

java - 强制对 double 进行整数除法?

java - 用用户输入填充数组并使用 if 语句根据数组内的值进行算术运算

java - 在 java 中使用 phoenix 连接到 hbase 的正确 URL

java - JavaFX 中的 TableView 数据编码

java - 我应该创建许多单例或单例上下文来引用我的状态和对象吗?

java - Jersey Client/JAX-RS 和可选(非默认)@QueryParam(客户端)

java - HazelCast Rest-Client 响应内容类型配置问题

java - 如何在我的 Java 应用程序中使用 Amazon Web Services 策略声明?

java - 错误 :(83, 42) java: 不兼容的类型: 从 float 到 int 可能有损转换

java - 我应该选择什么方式来代替乘法重载?