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
相关推荐
### Java命令行运行参数详解 #### 一、概述 Java作为一种广泛使用的编程语言,其运行依赖于Java虚拟机(JVM)。为了优化JVM的性能,开发者可以通过命令行传递一系列参数来控制JVM的行为。本文将详细介绍Java命令行...
### Java命令行运行参数详解 #### 一、概述 Java作为一种广泛应用的编程语言,其运行依赖于Java虚拟机(JVM)。为了更好地控制Java应用程序的运行环境,开发者可以通过指定一系列命令行参数来调整JVM的行为。本文将...
总结来说,Java命令行辅助工具是一个实用的开发工具,它通过自动化Java源代码的编译和运行,减少了开发者在命令行上的操作,提升了开发效率。对于初学者和频繁进行命令行操作的开发者来说,这样的工具无疑是一个很好...
Java命令行classpath(类路径)的设置是Java开发过程中的一项基础操作,对于理解和运行Java程序至关重要。类路径是指定Java虚拟机(JVM)在执行Java程序时查找类文件的位置。正确配置类路径能确保JVM能够找到并加载...
其次,Java 命令行运行使用 `java` 命令,执行编译好的 `.class` 文件。例如,运行 `HelloWorld.class` 文件,使用以下命令: `java HelloWorld` 但是,在运行 `java` 命令时,JDK 会自动去相应的路径里去找相应的...
这篇博客文章将探讨如何在Eclipse中配置和使用Java命令行参数,这对于理解程序的运行行为以及调试是非常有帮助的。 在Java程序中,命令行参数是通过`main`方法的`String[] args`数组传递的,它们允许我们在不修改...
Java 命令行编辑的基础知识包括编译和运行 Java 程序。编译 Java 程序可以使用 javac 命令,例如编译 HelloWorld.java 文件可以使用以下命令:javac HelloWorld.java。运行 Java 程序可以使用 java 命令,例如运行 ...
Java命令行文件管理器是一款基于Java编程语言开发的实用工具,专为用户在终端环境中提供高效、便捷的文件操作体验。这款程序集成了多种文件管理功能,如创建、删除、重命名、拷贝文件,浏览目录,以及压缩与解压缩、...
本文将深入探讨如何在命令行环境下编译和运行包含包结构的Java程序。 首先,Java中的包(package)是用来组织类的一种方式,它帮助避免命名冲突并提供更好的代码管理。例如,在给定的例子中,我们有两个类——`A....
总结来说,Java命令行工具是Java开发的基础,涵盖了从编写、编译到运行的整个流程。熟练掌握这些工具及其用法,对于Java开发者来说是必不可少的技能。同时,利用Shell脚本自动化这些任务,可以极大地提升开发效率和...
下面将对这些Java命令行工具进行详细的总结和说明。 一、基础工具(Basic Tools) 1. javac:Java编程语言的编译器。开发者使用它将.java源文件编译成.class字节码文件,以便能够在JVM上运行。 2. java:Java应用...
Java 命令行参数是 Java 虚拟机在 DOS 环境下运行时的基本参数设置,掌握这些参数可以更好地利用 Java 虚拟机的功能。本文将详细介绍 Java 命令行参数的使用方法和参数设置。 一、运行 Class 文件 Java 命令行参数...
在Java命令行编译和运行过程中,理解并正确处理包、类的相对路径以及`classpath`的设置,对于构建复杂的Java应用程序至关重要。虽然这可能比使用IDE时更显繁琐,但它帮助开发者深入理解Java编译和运行的底层机制,...
首先,开发Java命令行应用需要对Java编程基础有深入理解,包括类、对象、数据类型、控制结构(如循环和条件语句)、异常处理等。这些是所有Java程序的基础,无论其是否运行在命令行环境。 其次,要创建命令行应用,...
使用JCmdLineProgress库,开发者可以方便地在Java命令行程序中集成进度条,提高用户体验。通过实例化库提供的类,设置参数,然后在执行任务时调用相应的更新方法,就可以实现动态的进度显示。 例如,以下是一个简单...
《Java命令行大富翁》是一款基于Java编程语言开发的命令行游戏,旨在帮助初学者在娱乐中学习Java基础知识。这款游戏虽然没有华丽的图形界面,但通过简单的字符输出和用户输入,模拟了经典的大富翁游戏规则,为玩家...
JCmdLineProgress库就是为了实现这个目的,它允许开发者在Java命令行界面中轻松创建动态的进度条。 JCmdLineProgress库的核心功能在于提供了一个简洁的API,让开发者可以轻松地集成到他们的程序中。这个库通常包括...
### Java命令行打包及使用指南知识点总结 #### 1. Java开发环境的配置 在进行Java命令行打包及使用之前,首先需要确保开发环境已经正确配置。本例中使用的是64位jdk1.8.0_91版本,在Windows 7 64位操作系统上进行...
Java命令行外壳框架是一种用于构建命令行界面的工具,它基于properties配置文件并利用Java的反射机制来实现命令的解析和执行。这个框架允许开发者定义一系列的命令,并将每个命令映射到相应的处理类,从而简化了...