编译Java代码时,我被告知编译器必须从程序包的顶部运行。
也就是说,如果我要编译 tools.testing 中的 Test.java ,我必须首先设置程序包层次结构的顶部,该文件夹包含< i> /工具以使其正常工作。
我要编译的类使用了同一包中包含的另一个类,因此将代码的完整路径传递给编译器会阻止它看到另一个类(因为它不搜索当前目录,而是搜索本身中的软件包: ./ tools / testing (当它已经在 / tools / testing )中
我想知道是否总是这样,还是有办法,例如:提供到包顶部的路径(因为传递完整路径对我不起作用)作为<的参数b> javac 命令还是类似的东西?
谢谢!
答案 0 :(得分:0)
您应该使用IntelliJ,Eclipse或Netbeans等集成开发环境(IDE)。在IDE中,您可以创建一个Java项目,该项目的目录充当“源根”。
如果使用Maven作为构建工具,则该目录的默认位置为/src/main/java/
(这是Java项目的实际标准)。
IDE将自动为您编译Java文件,并允许您在开发期间轻松运行它们。
如果要独立运行应用程序,则必须以某种方式打包它。一种简单有效的方法是生成一个.jar文件,其中包含所有.class文件和您需要的其他文件(例如图像,.properties文件等)。如果您为项目指定一个pom.xml
文件(再次为Maven)并将packaging
设置为jar
,则Maven将自动为您创建一个.jar文件。您甚至可以通过一些附加设置使.jar文件可运行。
有关包装的更多信息,另请参见this answer。