使用类路径通过javac编译JAVA
我有以下文件夹结构: 我的工作区是/java,“项目”是这样的:使用类路径通过javac编译JAVA,java,javac,Java,Javac,我有以下文件夹结构: 我的工作区是/java,“项目”是这样的: - de - vfh - gp1 - bib - Console.class - Console.java - app - MyFile.java - MyFile.class 因此,当我这样做时: cd ~/Desktop/java javac -classpath "." de/vfh/gp1/app/MyFile.java
- de
- vfh
- gp1
- bib
- Console.class
- Console.java
- app
- MyFile.java
- MyFile.class
因此,当我这样做时:
cd ~/Desktop/java
javac -classpath "." de/vfh/gp1/app/MyFile.java
cd ~/Desktop/java/de/vfg/app/
java MyFile
javac命令运行良好,但java命令失败,我得到:
java.lang.NoClassDefFoundError: de/vfh/gp1/bib/Console
您知道我的类路径应该是什么样子吗?您应该从项目的根目录运行它,并使用类的全名(带包):
cd ~/Desktop/java/
java de.vfg.app.MyFile
顺便说一句-我没有看到您编译
控制台
,这显然是需要的包的安排是什么?您需要编译并在“.”的包结构的根上运行才能工作。@user3205343请注意完全限定类名中的点而不是斜杠。@Nir您实际上不需要显式编译Console;如果MyFile引用了Console,并且Console.class不存在,javac将自动编译Console.java。