0 0

java命令行运行5

javac -cp ./jcomm/comm.jar Tester.java可以编译,但是运行
java -cp ./jcomm/comm.jar Tester就报如下错误,Tester运行需要comm.jar
Exception in thread "main" java.lang.NoClassDefFoundError: Tester
Caused by: java.lang.ClassNotFoundException: Tester
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: Tester.  Program will exit.


怎样在运行时包含comm.jar?

问题补充:javac可以运行没有错误,在运行java时出现错误~

问题补充:另外我编写了一个简单的Tester01,运行java Tester01可以
随便来个jar包放到该目录下,运行
java -cp XXX.jar Tester01也会报上面的错误

问题补充:没有加包名,我试一下价格包名的结果

问题补充:建了个tt文件夹,Tester.java(只剩下System.out.println了,不用依赖jar包了)里面也加了package tt;把Tester放到tt里,编译面,
运行结果如下,直接java java tt.Tester可以,加个-cp xxx.jar就出错:
[aimc4@cudev133 jcomm]$ java tt.Tester
*****haha*******
[aimc4@cudev133 jcomm]$ java -cp ant165.jar tt.Tester
Exception in thread "main" java.lang.NoClassDefFoundError: tt/Tester
Caused by: java.lang.ClassNotFoundException: tt.Tester
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: tt.Tester.  Program will exit.
[aimc4@cudev133 jcomm]$

问题补充:原先问题解决了
出现这个情况:

-bash: commapi/jar/comm.jar: cannot execute binary file

问题补充:只是执行了
java -cp .;ant165.jar tt.Tester

而已,错误变成了java命令的介绍,还有最后一句
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
                  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 | -jre-no-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
    -da[:<packagename>...|:<classname>]
    -disableassertions[:<packagename>...|:<classname>]
                  disable assertions
    -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
-bash: ./ant165.jar: cannot execute binary file
2010年4月21日 16:35

6个答案 按时间排序 按投票排序

0 0

采纳的答案

引用
-bash: commapi/jar/comm.jar: cannot execute binary file

commapi/jar/comm.jar 不是可执行的文件。

你是运行它了吧?

2010年4月21日 20:04
0 0

你的-cp的内容写错了:
java -cp .;ant165.jar tt.Tester

2010年4月21日 19:41
0 0

是不是包名?就是源文件中是否有package XXX语句在首行?

2010年4月21日 19:00
0 0

引用
Tester.java


是不是包名?就是源文件中是否有package XXX语句在首行?

2010年4月21日 17:36
0 0

你的cp路径应该包括当前路径(.),以及jar包的路径。并且中间用分号隔开

2010年4月21日 17:05
0 0

试试这样:
javac -cp .;jcomm/comm.jar Tester.java

PS : 调整你的comm.jar的路径

2010年4月21日 17:02

相关推荐

    Java命令行运行参数说明大全.txt

    ### Java命令行运行参数详解 #### 一、概述 Java作为一种广泛使用的编程语言,其运行依赖于Java虚拟机(JVM)。为了优化JVM的性能,开发者可以通过命令行传递一系列参数来控制JVM的行为。本文将详细介绍Java命令行...

    Java 命令行运行参数大全

    ### Java命令行运行参数详解 #### 一、概述 Java作为一种广泛应用的编程语言,其运行依赖于Java虚拟机(JVM)。为了更好地控制Java应用程序的运行环境,开发者可以通过指定一系列命令行参数来调整JVM的行为。本文将...

    java命令行辅助工具

    总结来说,Java命令行辅助工具是一个实用的开发工具,它通过自动化Java源代码的编译和运行,减少了开发者在命令行上的操作,提升了开发效率。对于初学者和频繁进行命令行操作的开发者来说,这样的工具无疑是一个很好...

    Java命令行classpath的设置

    Java命令行classpath(类路径)的设置是Java开发过程中的一项基础操作,对于理解和运行Java程序至关重要。类路径是指定Java虚拟机(JVM)在执行Java程序时查找类文件的位置。正确配置类路径能确保JVM能够找到并加载...

    关于java在cmd命令行的编译和运行问题

    其次,Java 命令行运行使用 `java` 命令,执行编译好的 `.class` 文件。例如,运行 `HelloWorld.class` 文件,使用以下命令: `java HelloWorld` 但是,在运行 `java` 命令时,JDK 会自动去相应的路径里去找相应的...

    eclipse java 命令行参数

    这篇博客文章将探讨如何在Eclipse中配置和使用Java命令行参数,这对于理解程序的运行行为以及调试是非常有帮助的。 在Java程序中,命令行参数是通过`main`方法的`String[] args`数组传递的,它们允许我们在不修改...

    java命令行编译基础知识

    Java 命令行编辑的基础知识包括编译和运行 Java 程序。编译 Java 程序可以使用 javac 命令,例如编译 HelloWorld.java 文件可以使用以下命令:javac HelloWorld.java。运行 Java 程序可以使用 java 命令,例如运行 ...

    java命令行文件管理器

    Java命令行文件管理器是一款基于Java编程语言开发的实用工具,专为用户在终端环境中提供高效、便捷的文件操作体验。这款程序集成了多种文件管理功能,如创建、删除、重命名、拷贝文件,浏览目录,以及压缩与解压缩、...

    java命令行编译全

    本文将深入探讨如何在命令行环境下编译和运行包含包结构的Java程序。 首先,Java中的包(package)是用来组织类的一种方式,它帮助避免命名冲突并提供更好的代码管理。例如,在给定的例子中,我们有两个类——`A....

    Java 命令行工具

    总结来说,Java命令行工具是Java开发的基础,涵盖了从编写、编译到运行的整个流程。熟练掌握这些工具及其用法,对于Java开发者来说是必不可少的技能。同时,利用Shell脚本自动化这些任务,可以极大地提升开发效率和...

    Java 命令行以及Java工具总结

    下面将对这些Java命令行工具进行详细的总结和说明。 一、基础工具(Basic Tools) 1. javac:Java编程语言的编译器。开发者使用它将.java源文件编译成.class字节码文件,以便能够在JVM上运行。 2. java:Java应用...

    java的几个命令行参数

    Java 命令行参数是 Java 虚拟机在 DOS 环境下运行时的基本参数设置,掌握这些参数可以更好地利用 Java 虚拟机的功能。本文将详细介绍 Java 命令行参数的使用方法和参数设置。 一、运行 Class 文件 Java 命令行参数...

    java命令行编译说明

    在Java命令行编译和运行过程中,理解并正确处理包、类的相对路径以及`classpath`的设置,对于构建复杂的Java应用程序至关重要。虽然这可能比使用IDE时更显繁琐,但它帮助开发者深入理解Java编译和运行的底层机制,...

    Java 命令行应用开发

    首先,开发Java命令行应用需要对Java编程基础有深入理解,包括类、对象、数据类型、控制结构(如循环和条件语句)、异常处理等。这些是所有Java程序的基础,无论其是否运行在命令行环境。 其次,要创建命令行应用,...

    Java的命令行进度条 JCmdLineProgess

    使用JCmdLineProgress库,开发者可以方便地在Java命令行程序中集成进度条,提高用户体验。通过实例化库提供的类,设置参数,然后在执行任务时调用相应的更新方法,就可以实现动态的进度显示。 例如,以下是一个简单...

    java命令行大富翁

    《Java命令行大富翁》是一款基于Java编程语言开发的命令行游戏,旨在帮助初学者在娱乐中学习Java基础知识。这款游戏虽然没有华丽的图形界面,但通过简单的字符输出和用户输入,模拟了经典的大富翁游戏规则,为玩家...

    Java的命令行进度条 JCmdLineProgess.7z

    JCmdLineProgress库就是为了实现这个目的,它允许开发者在Java命令行界面中轻松创建动态的进度条。 JCmdLineProgress库的核心功能在于提供了一个简洁的API,让开发者可以轻松地集成到他们的程序中。这个库通常包括...

    java命令行打包及其使用指南

    ### Java命令行打包及使用指南知识点总结 #### 1. Java开发环境的配置 在进行Java命令行打包及使用之前,首先需要确保开发环境已经正确配置。本例中使用的是64位jdk1.8.0_91版本,在Windows 7 64位操作系统上进行...

    Java命令行外壳框架

    Java命令行外壳框架是一种用于构建命令行界面的工具,它基于properties配置文件并利用Java的反射机制来实现命令的解析和执行。这个框架允许开发者定义一系列的命令,并将每个命令映射到相应的处理类,从而简化了...

Global site tag (gtag.js) - Google Analytics