Windows命令行无法运行编译后的Java类问题求助
解决Java包下类命令行运行找不到主类的问题
问题根源
你给两个类声明了package percolations;,Java的包机制要求类文件必须放在与包名同名的子目录下,同时运行时要基于根目录指定类路径和完整类名,这是命令行运行失败的核心原因。
具体操作步骤
1. 调整文件目录结构
在当前文件所在的根目录下创建子文件夹percolations,把Percolation.java和PercolationStats.java都移进去。
2. 编译命令(在根目录执行)
javac -classpath "C:\\algs4\\algs4.jar" percolations\Percolation.java percolations\PercolationStats.java
编译完成后,生成的class文件会自动保存在percolations子目录中。
3. 运行命令(在根目录执行)
运行时必须指定完整的包名+类名,同时带上包含当前根目录和algs4.jar的类路径:
java -classpath ".;C:\\algs4\\algs4.jar" percolations.Percolation
或者运行PercolationStats类:
java -classpath ".;C:\\algs4\\algs4.jar" percolations.PercolationStats
注意:Windows系统中类路径的分隔符是
;,.代表当前根目录,必须添加才能让JVM识别到你的包目录。
关于导入的说明
两个类属于同一个包,Java会自动识别同包下的类,无需手动添加import Percolation;,直接删除该导入语句即可解决导入报错问题。
内容的提问来源于stack exchange,提问作者Lance
相关产品推荐
相关产品推荐

