cmd下执行java class

本文详细介绍了如何在Java中正确地加载类并运行,包括如何使用-cp或-classpath参数来指定类路径,以及如何通过命令行传递参数给Java程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java代码   收藏代码
  1. package MyJava;  
  2.   
  3. public class MyThread {  
  4.   
  5.     public static void SysPrint(String str) {  
  6.       
  7.         System.out.println(str);  
  8.     }  
  9.   
  10.     public static void main(String[] args) {  
  11.       
  12.         SysPrint("Hello World");  
  13.     }  
  14. }  

 java文件在:C:\Users\Ivan\Desktop\txt\MyThread.java
javac后,class文件保存在:C:\Users\Ivan\Desktop\txt\MyJava\MyThread.class

 

关于cmd下的java命令
正确的做法
1.把目录cd到:C:\Users\Ivan\Desktop\txt
然后:java MyJava.MyThread
即:C:\Users\Ivan\Desktop\txt>java MyJava.MyThread

 

2.在任何目录下,使用-cp或-classpath命令参数(不包括C:\Users\Ivan\Desktop\txt\MyJava)
如:C:>java -cp C:\Users\Ivan\Desktop\txt MyJava.MyThread
如:D:>java -cp C:\Users\Ivan\Desktop\txt MyJava.MyThread

 

关于-cp (作用、效果同-classpath)

-cp <路径>                   指定查找用户类文件和注释处理程序的位置

 

错误的做法,有
1.把目录cd到:C:\Users\Ivan\Desktop\txt\MyJava
然后:java MyJava.MyThread
或:java MyThread
即:C:\Users\Ivan\Desktop\txt\MyJava>java MyJava.MyThread
或:C:\Users\Ivan\Desktop\txt\MyJava>java MyThread

 

2.错误使用-cp,将路径直接指到了包里面
即:D:>java -cp C:\Users\Ivan\Desktop\txt\MyJava MyJava.MyThread
或:D:>java -cp C:\Users\Ivan\Desktop\txt\MyJava MyThread

 

总结,将当前路径设置为包的父目录,
或使用-cp/-classpath参数,使得当前路径相当于在包的父目录,就能够正确执行java命令了。

 

补上一遍更有营养的文章,http://blog.youkuaiyun.com/CaesarZou/archive/2010/04/08/5462189.aspx


java 命令行输入参数

javac Args.java

java Args a1 ar2

则args[0]  = a1

### Java代码在CMD运行时不生成Class文件的解决方案 当遇到Java代码在命令提示符(CMD)下编译不生成`.class`文件的情况时,通常是因为环境配置或操作流程存在问题。以下是详细的排查和解决办法: #### 1. 验证JDK安装与版本 确保已正确安装了Java开发工具包(JDK),而不是仅安装了Java运行时环境(JRE)[^3]。 #### 2. 设置正确的PATH环境变量 如果存在多个不同版本的Java安装路径,则可能导致冲突。应确认系统的PATH环境变量指向的是期望使用的JDK bin目录,并移除其他不必要的Java相关路径设置。 ```batch set PATH=C:\Program Files\Java\jdk-xx.x.x_xxx\bin;%PATH% ``` 此处需替换为实际安装位置中的具体版本号。 #### 3. 编写并保存源码文件 创建一个新的纯文本文件作为Java程序入口点(`Main.java`),注意保存时选择UTF-8编码方式以避免字符集问题。该文件应当位于指定的工作空间内,比如D盘根目录下的某个子文件夹里。 #### 4. 使用绝对路径进行编译 尝试通过提供完整的磁盘路径来调用`javac`命令完成编译过程,这有助于排除当前工作目录设定错误带来的影响。 ```batch cd /d D:\ mkdir workspace && cd workspace echo public class Main {public static void main(String[] args){System.out.println("Hello World!");}} > Main.java "C:\Program Files\Java\jdk-xx.x.x_xxx\bin\javac.exe" "D:\workspace\Main.java" dir *.class ``` 上述脚本会先建立一个名为`workspace`的新文件夹用于存放项目文件,在此之后定义了一个简单的测试类`Main.java`并通过显式的全限定名指定了要编译的目标文件及其所在位置;最后一步用来验证是否成功产生了对应的字节码文件(.class)。 #### 5. 检查CLASSPATH环境变量 除非特别需求,一般情况下不需要额外配置CLASSPATH环境变量即可正常编译简单应用程序。但如果确实有必要的话,请按照如下格式添加必要的库依赖项到classpath列表中去[^1]。 ```batch set CLASSPATH=.;%JAVA_HOME%\lib\tools.jar;other_libraries_here... ``` > **重要提醒**: `.`代表当前目录,即包含待编译源文件的地方。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值