假设您有代码文件
[someDirectory] | +-[lib] | | | +-someLib.jar | +-someOtherLib.jar | +-... | +--[src] | +-[net]|+-[name] | +-[one] | +-[two] | +-[main] | +-Main.java <- pre you want to compile and execute
那么如果您的控制台在
someDirectory>
你可以用它编译
someDirectory>javac -cp "lib*" srcnetnameonetwomainMain.java
但这将
Main.class在与该目录相同的目录中生成文件,
Main.java以便从
net.name.one.two.main.Main类执行代码,您需要将
src目录包括到classPath中,因为此目录包含
Main放置该类的包,因此您需要使用命令
someDirectory>java -cp "src;lib*" net.name.one.two.main.Main
但是,最好将类文件与源文件分开。为此,您可以
-d在编译通过目录时添加(directory)参数,该目录应该已经编译了类文件。因此,首先
classes在与目录相同的级别上创建
src目录并执行
someDirectory>javac -d "classes" -cp "lib*" srcnetnameonetwomainMain.java
现在要能够执行您的
Main类,而不是通过
src目录对classPath 造成混乱,您将必须添加
classes更直观的目录。
someDirectory>java -cp "classes;lib*" net.name.one.two.main.Main.java
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)