java如何使用此文件夹结构编译和运行 2 月 Questions & Answers 4268 我的java源文件位于src/net/。。。文件夹和。lib文件夹中的jar文件。如何在不编写构建脚本的情况下使用命令行编译和运行这些文件
# 1 楼答案 试试这个 javac -cp .;lib/lib1.jar;lib/lib2.jar src/net/*.java lib1和lib2是您的库。它假定您的库位于lib文件夹中。您可能还需要更改的目标文件夹。类文件 要运行应用程序,请使用 java -cp bin;lib/lib1.jar;lib/lib2.jar net.mypackage.MyMainclass 净 它假设你的。类文件位于bin文件夹中
# 2 楼答案 假设你有你的代码文件 [someDirectory] | +-[lib] | | | +-someLib.jar | +-someOtherLib.jar | +-... | + [src] | +-[net] | +-[name] | +-[one] | +-[two] | +-[main] | +-Main.java <- code you want to compile and execute 那么如果你的控制台在 someDirectory> 您可以使用 someDirectory>javac -cp "lib\*" src\net\name\one\two\main\Main.java 但这将在与Main.java相同的目录中生成Main.class文件,所以要从net.name.one.two.main.Main类执行代码,您需要将src目录包含到类路径,因为此目录包含放置Main类的包,所以您需要使用命令 someDirectory>java -cp "src;lib\*" net.name.one.two.main.Main 但将类文件与源文件分开是一种很好的做法。要做到这一点,您可以在编译pass目录时添加-d(directory)参数,pass目录应该有已编译的类文件。因此,首先在与src目录相同的级别上创建classes目录并执行 someDirectory>javac -d "classes" -cp "lib\*" src\net\name\one\two\main\Main.java 现在,为了能够执行Main类,而不是通过src目录到类路径而造成混乱,您必须添加classes目录,这更直观 someDirectory>java -cp "classes;lib\*" net.name.one.two.main.Main.java
# 1 楼答案
试试这个
lib1和lib2是您的库。它假定您的库位于lib文件夹中。您可能还需要更改的目标文件夹。类文件
要运行应用程序,请使用
净
它假设你的。类文件位于bin文件夹中
# 2 楼答案
假设你有你的代码文件
那么如果你的控制台在
您可以使用
但这将在与
Main.java
相同的目录中生成Main.class
文件,所以要从net.name.one.two.main.Main
类执行代码,您需要将src
目录包含到类路径,因为此目录包含放置Main
类的包,所以您需要使用命令但将类文件与源文件分开是一种很好的做法。要做到这一点,您可以在编译pass目录时添加
-d
(directory)参数,pass目录应该有已编译的类文件。因此,首先在与src
目录相同的级别上创建classes
目录并执行现在,为了能够执行
Main
类,而不是通过src
目录到类路径而造成混乱,您必须添加classes
目录,这更直观