编译并运行这个java程序

编译并运行这个java程序,java,Java,如何编译和运行以下程序: Test1.java: package A; public class Test1 { public int a = 1; } Test2.java: package B; import A.*; public class Test2 { public static void main(String [] args) { Test1 obj = new Test1(); System.out.println

如何编译和运行以下程序:

Test1.java:

package A;

public class Test1
{
    public int a = 1;
}
Test2.java:

package B;

import A.*;

public class Test2
{
    public static void main(String [] args)
    {
        Test1 obj = new Test1();
        System.out.println(obj.a);
    }
}
我是个新手。 如果我使用javac*.java编译
手动创建dir A,将Test1.class复制到其中,手动创建dir B,将Test2.class复制到其中,然后运行javab.Test2。我肯定这不是正确的做法。请建议。

您应该将.java文件保存在与包结构匹配的目录结构中

所以Test1.java应该放在目录A中
所以Test2.java应该放在目录B中

您应该将.java文件放在与包结构匹配的目录结构中

所以Test1.java应该放在目录A中
因此Test2.java应该放在目录B中,编译器将创建名为A和B的目录,并将.class文件放在其中


您不需要手动将类文件复制到它们的包目录中,如果这样做,它可能无法工作。

编译器将创建名为A和B的目录,并将.class文件放在其中


您不需要手动将类文件复制到它们的包目录中,如果这样做,可能无法工作。

您需要将java文件保存在正确的目录结构中:

A/Test1.java
B/Test2.java
通常只在主类上调用javac就足够了,因为所有依赖项都将自动处理。在我说javac B/Test2.java之后,它看起来是这样的:

A/Test1.class
A/Test1.java
B/Test2.class
B/Test2.java
我可以用javab.Test2运行这个程序


如果仅仅在主类上运行javac还不够,您可能需要一个构建系统。

您需要将java文件保存在正确的目录结构中:

A/Test1.java
B/Test2.java
通常只在主类上调用javac就足够了,因为所有依赖项都将自动处理。在我说javac B/Test2.java之后,它看起来是这样的:

A/Test1.class
A/Test1.java
B/Test2.class
B/Test2.java
我可以用javab.Test2运行这个程序


如果仅仅在主类上运行javac还不够,您可能需要一个构建系统。

编译的方式没有问题,只是很麻烦,但肯定没有错

也就是说,创建一个src目录来存储.java文件,使目录结构与类的包结构保持一致。在本例中,您将有src目录,其中有目录A和目录B。在put Test1.java和B put Test2.java中

然后:

为什么选择Test2.java?因为它依赖于A,所以编译器足够聪明,可以先编译A/Test1.java,然后编译B/Test2.java。此时,A和B中都有.class文件

要运行它,请执行以下操作:

java B.Test2

编译的方式没有问题,只是很麻烦,但肯定没有错

也就是说,创建一个src目录来存储.java文件,使目录结构与类的包结构保持一致。在本例中,您将有src目录,其中有目录A和目录B。在put Test1.java和B put Test2.java中

然后:

为什么选择Test2.java?因为它依赖于A,所以编译器足够聪明,可以先编译A/Test1.java,然后编译B/Test2.java。此时,A和B中都有.class文件

要运行它,请执行以下操作:

java B.Test2

这不是对您的问题的直接回答,但您可能希望开始考虑使用他人建议的IDE ant。如果您刚刚起步,我会推荐jcreator,如果您想要一些好东西,我会推荐Eclipse

这不是对您问题的直接回答,但您可能希望开始考虑使用他人建议的IDE ant。如果您刚刚起步,我会推荐jcreator,如果您想要一些好东西,我会推荐Eclipse

感谢对象,它可以工作:但是现在我需要使用javac两次!!有没有一种方法可以发出一个javac命令?一旦你开始创建>1类的应用程序,你最好使用ant或maven之类的工具来编译。您还可以列出许多要编译的文件,例如java A/*.java B/*.java,或者您可以只编译Test2.java,Test1将被编译,如果不是Test2所使用的,那么Test1将被编译。您最好使用ant或maven之类的工具来编译。或者像Eclipse或Netbeans这样的IDE。我建议首先掌握编译过程、包、类路径以及所有可以工作的东西。然后熟悉IDE,然后使用像ant或maven这样的工具。感谢objects,它可以工作:但是现在我需要使用javac两次!!有没有一种方法可以发出一个javac命令?一旦你开始创建>1类的应用程序,你最好使用ant或maven之类的工具来编译。您还可以列出许多要编译的文件,例如java A/*.java B/*.java,或者您可以只编译Test2.java,Test1将被编译,如果不是Test2所使用的,那么Test1将被编译。您最好使用ant或maven之类的工具来编译。或者像Eclipse或Netbeans这样的IDE。他们也做编码
我建议首先掌握编译过程、包、类路径以及所有可以工作的东西。然后熟悉IDE,然后使用ant或maven之类的工具。有人建议使用IDE,但我试图了解在幕后到底发生了什么。有人提到蚂蚁/马文。有什么区别?我知道make是如何工作的。我想这些和make差不多。我应该从哪一个开始,Ant还是Maven?有人建议使用IDE,但我正试图了解引擎盖下到底发生了什么。有人提到蚂蚁/马文。有什么区别?我知道make是如何工作的。我想这些和make差不多。我应该从哪一个开始,Ant还是Maven?