无法在命令行上将Netbeans生成的.java文件编译为.class

无法在命令行上将Netbeans生成的.java文件编译为.class,java,netbeans,command-line,compilation,Java,Netbeans,Command Line,Compilation,我构建java程序是作为uni分配的一部分,作为提交的一部分,它必须能够在DOS窗口(读取Windows命令窗口)中编译和运行。该程序在Netbeans中运行良好,但当我将所有.java文件复制到一个单独的文件夹中并尝试编译每个文件时,会出现大量编译错误。当我在Netbeans中创建这些文件时,我将它们都作为一个包的一部分,并让Netbeans在每个类的顶部添加一个“package*Project_Name*”。剩下的是标准java,没有什么太复杂的。这是我第一次使用Netbeans(我使用的是

我构建java程序是作为uni分配的一部分,作为提交的一部分,它必须能够在DOS窗口(读取Windows命令窗口)中编译和运行。该程序在Netbeans中运行良好,但当我将所有.java文件复制到一个单独的文件夹中并尝试编译每个文件时,会出现大量编译错误。当我在Netbeans中创建这些文件时,我将它们都作为一个包的一部分,并让Netbeans在每个类的顶部添加一个“package*Project_Name*”。剩下的是标准java,没有什么太复杂的。这是我第一次使用Netbeans(我使用的是7.1.1版),它让我发疯。我可以创建一个.jar文件,并且可以从命令行运行它,但是我需要能够显示源代码可以从命令行编译,并且生成的文件也可以从命令行运行。是否有其他人有过这个问题,如果有,您是如何克服的,或者是否有人知道如何解决这个问题

我觉得这与对其他文件的引用有关,因为大多数错误都与创建的对象和从其他文件调用的方法有关。对于exmaple,我有一个Manager.java文件,其中包含一个Manager对象的构造函数和方法,然后在另一个文件(比如Proprety.java)中,我有使用new关键字创建Manager对象的代码

我使用的当前类路径为

类路径=。;C:\ProgramFiles\java\jdk1.7.0\U 03\lib;C:\ProgramFiles\Java\jre6\lib\ext\QTJava.zip

PATH变量的设置如下

。。。;C:\ProgramFiles\Java\jdk1.7.0\U 03\bin;C:\ProgramFiles\Java\jre7\bin

就这样。我使用的唯一库是java.util.*和java.io.*所有其他引用都指向我在Netbeans中创建的类文件

任何帮助都会被感激的

SET命令的结果:

C:\>set
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\Gunit\AppData\Roaming
asl.log=Destination=file
CLASSPATH=.;C:\Program Files\java\jdk1.7.0_03\lib;C:\Program Files\Java\jre6\lib
\ext\QTJava.zip;C:\Estateman
CommonProgramFiles=C:\Program Files\Common Files
COMPUTERNAME=GUNIT-PC
ComSpec=C:\Windows\system32\cmd.exe
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Users\Gunit
LOCALAPPDATA=C:\Users\Gunit\AppData\Local
LOGONSERVER=\\GUNIT-PC
MOZ_PLUGIN_PATH=C:\Program Files\SumatraPDF\
NUMBER_OF_PROCESSORS=2
OS=Windows_NT
Path=C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Windows\syst
em32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v
1.0\;C:\Program Files\Common Files\Acronis\SnapAPI\;c:\Program Files\Microsoft S
QL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:
\Program Files\Windows Live\Shared;C:\Program Files\QuickTime\QTSystem\;C:\Progr
am Files\Common Files\Avid;Avid;C:\Program Files\doxygen\bin;C:\Program Files\Co
mmon Files\Adobe\AGL;C:\Program Files\Java\jdk1.7.0_03\bin;C:\Program Files\Java
\jre7\bin
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 15 Model 6 Stepping 5, GenuineIntel
PROCESSOR_LEVEL=15
PROCESSOR_REVISION=0605
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC=C:\Users\Public
QTJAVA=C:\Program Files\Java\jre6\lib\ext\QTJava.zip
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Users\Gunit\AppData\Local\Temp
TMP=C:\Users\Gunit\AppData\Local\Temp
USERDOMAIN=Gunit-PC
USERNAME=Gunit
USERPROFILE=C:\Users\Gunit
VS100COMNTOOLS=c:\Program Files\Microsoft Visual Studio 10.0\Common7\Tools\
windir=C:\Windows
命令Im正在运行:

C:\Estateman>javac Manager.java
输出:

Manager.java:33: error: cannot find symbol
        Property temp0 = new Rental(24,"Bogan Ave","Geelong",3040,"Bob Jones
","0420685765","Victoria","Tues 8am",280.50,"23/4/2012");
        ^
symbol:   class Property
location: class Manager
Manager.java:33: error: cannot find symbol
        Property temp0 = new Rental(24,"Bogan Ave","Geelong",3040,"Bob Jones
","0420685765","Victoria","Tues 8am",280.50,"23/4/2012");
                             ^
symbol:   class Rental
location: class Manager
Manager.java:34: error: cannot find symbol
        Property temp1 = new Selling(56,"Maritime Rd","Perth",6000,"Alan Gib
s","0400345964","Perth","Wed 3pm",350485.00);
        ^
symbol:   class Property
location: class Manager
Manager.java:34: error: cannot find symbol
        Property temp1 = new Selling(56,"Maritime Rd","Perth",6000,"Alan Gib
s","0400345964","Perth","Wed 3pm",350485.00);
                             ^
symbol:   class Selling
location: class Manager
Manager.java:35: error: cannot find symbol
        Property temp2 = new Selling(901,"Preston Rd","Murdoch",6505,"Alan G
ibs","0400345964","Perth","Fri 10am",890000.00);
        ^
symbol:   class Property
location: class Manager
Manager.java:35: error: cannot find symbol
        Property temp2 = new Selling(901,"Preston Rd","Murdoch",6505,"Alan G
ibs","0400345964","Perth","Fri 10am",890000.00);
                             ^
symbol:   class Selling
location: class Manager
Manager.java:36: error: cannot find symbol
        Property temp3 = new Rental(83,"Joke Way","Murdoch",6505,"Grace Kell
y","0123493436","Winthrop","Fri 1pm",475.00,"18/4/2012");
        ^
symbol:   class Property
location: class Manager
Manager.java:36: error: cannot find symbol
        Property temp3 = new Rental(83,"Joke Way","Murdoch",6505,"Grace Kell
y","0123493436","Winthrop","Fri 1pm",475.00,"18/4/2012");
                             ^
symbol:   class Rental
location: class Manager
Manager.java:37: error: cannot find symbol
        Property temp4 = new Selling(167,"Joke Way","Murdoch",6505,"Bob Jone
s","0420685765","Victoria","Sat 3pm","17/5/2012");
        ^
symbol:   class Property
location: class Manager
Manager.java:37: error: cannot find symbol
        Property temp4 = new Selling(167,"Joke Way","Murdoch",6505,"Bob Jone
s","0420685765","Victoria","Sat 3pm","17/5/2012");
                             ^
symbol:   class Selling
location: class Manager
Manager.java:38: error: cannot find symbol
        Property temp5 = new Selling(2,"Ashbury Lane","Success",6110,"Ian Fi
elder","0895484453","Atwell","Mon 11am",900000.00);
        ^
symbol:   class Property
location: class Manager
Manager.java:38: error: cannot find symbol
        Property temp5 = new Selling(2,"Ashbury Lane","Success",6110,"Ian Fi
elder","0895484453","Atwell","Mon 11am",900000.00);
                             ^
symbol:   class Selling
location: class Manager
Manager.java:54: error: cannot find symbol
        Utils u = new Utils();
        ^
symbol:   class Utils
location: class Manager
Manager.java:54: error: cannot find symbol
        Utils u = new Utils();
                      ^
symbol:   class Utils
location: class Manager
Manager.java:84: error: cannot find symbol
            Property temp = new Selling(num,name,sub,code,person,phone,offic
e,open,price);
            ^
symbol:   class Property
location: class Manager
Manager.java:84: error: cannot find symbol
            Property temp = new Selling(num,name,sub,code,person,phone,offic
e,open,price);
                                ^
symbol:   class Selling
location: class Manager
Manager.java:92: error: cannot find symbol
                Property temp = new Rental(num,name,sub,code,person,phone,of
fice,open,price,vacant);
                ^
symbol:   class Property
location: class Manager
Manager.java:92: error: cannot find symbol
                Property temp = new Rental(num,name,sub,code,person,phone,of
fice,open,price,vacant);
                                    ^
symbol:   class Rental
location: class Manager
Manager.java:156: error: cannot find symbol
            Property temp = (Property)(itr.next());
            ^
symbol:   class Property
location: class Manager
Manager.java:156: error: cannot find symbol
            Property temp = (Property)(itr.next());
                             ^
symbol:   class Property
location: class Manager
Manager.java:165: error: cannot find symbol
                    Rental rTemp = (Rental)(temp);
                    ^
symbol:   class Rental
location: class Manager
Manager.java:165: error: cannot find symbol
                    Rental rTemp = (Rental)(temp);
                                    ^
symbol:   class Rental
location: class Manager
Manager.java:173: error: cannot find symbol
                    Selling sTemp = (Selling)(temp);
                    ^
symbol:   class Selling
location: class Manager
Manager.java:173: error: cannot find symbol
                    Selling sTemp = (Selling)(temp);
                                     ^
symbol:   class Selling
location: class Manager
Manager.java:180: error: cannot find symbol
                    Selling sTemp = (Selling)(temp);
                    ^
symbol:   class Selling
location: class Manager
Manager.java:180: error: cannot find symbol
                    Selling sTemp = (Selling)(temp);
                                     ^
symbol:   class Selling
location: class Manager
Manager.java:198: error: cannot find symbol
        Utils u = new Utils();
        ^
symbol:   class Utils
location: class Manager
Manager.java:198: error: cannot find symbol
        Utils u = new Utils();
                      ^
symbol:   class Utils
location: class Manager
Manager.java:199: error: cannot find symbol
        Property tmp = new Property();
        ^
symbol:   class Property
location: class Manager
Manager.java:199: error: cannot find symbol
        Property tmp = new Property();
                           ^
symbol:   class Property
location: class Manager
Manager.java:212: error: cannot find symbol
            Property temp = (Property)(itr.next());
            ^
symbol:   class Property
location: class Manager
Manager.java:212: error: cannot find symbol
            Property temp = (Property)(itr.next());
                             ^
symbol:   class Property
location: class Manager
Manager.java:238: error: cannot find symbol
        Property temp = new Property();
        ^
symbol:   class Property
location: class Manager
Manager.java:238: error: cannot find symbol
        Property temp = new Property();
                            ^
symbol:   class Property
location: class Manager
Manager.java:239: error: cannot find symbol
        Utils u = new Utils();
        ^
symbol:   class Utils
location: class Manager
Manager.java:239: error: cannot find symbol
        Utils u = new Utils();
                      ^
symbol:   class Utils
location: class Manager
Manager.java:249: error: cannot find symbol
        ((Property)(properties.get(i))).address.setStreetNum(num);
          ^
symbol:   class Property
location: class Manager
Manager.java:250: error: cannot find symbol
        ((Property)(properties.get(i))).address.setStreetName(name);
          ^
symbol:   class Property
location: class Manager
Manager.java:251: error: cannot find symbol
        ((Property)(properties.get(i))).address.setSuburb(sub);
          ^
symbol:   class Property
location: class Manager
Manager.java:252: error: cannot find symbol
        ((Property)(properties.get(i))).address.setPostCode(code);
          ^
symbol:   class Property
location: class Manager
Manager.java:266: error: cannot find symbol
        Utils u = new Utils();
        ^
symbol:   class Utils
location: class Manager
Manager.java:266: error: cannot find symbol
        Utils u = new Utils();
                      ^
symbol:   class Utils
location: class Manager
Manager.java:273: error: cannot find symbol
        Property temp = new Property();
        ^
symbol:   class Property
location: class Manager
Manager.java:273: error: cannot find symbol
        Property temp = new Property();
                            ^
symbol:   class Property
location: class Manager
Manager.java:280: error: cannot find symbol
        ((Property)(properties.get(i))).contact.setContact(name,phone,office
);
          ^
symbol:   class Property
location: class Manager
Manager.java:296: error: cannot find symbol
            Property temp = (Property)(itr.next());
            ^
symbol:   class Property
location: class Manager
Manager.java:296: error: cannot find symbol
            Property temp = (Property)(itr.next());
                             ^
symbol:   class Property
location: class Manager
Manager.java:311: error: cannot find symbol
        Utils u = new Utils();
        ^
symbol:   class Utils
location: class Manager
Manager.java:311: error: cannot find symbol
        Utils u = new Utils();
                      ^
symbol:   class Utils
location: class Manager
Manager.java:317: error: cannot find symbol
        Property temp = new Property();
        ^
symbol:   class Property
location: class Manager
Manager.java:317: error: cannot find symbol
        Property temp = new Property();
                            ^
symbol:   class Property
location: class Manager
Manager.java:320: error: cannot find symbol
        ((Property)(properties.get(i))).viewing.setTime(time);
          ^
symbol:   class Property
location: class Manager
Manager.java:332: error: cannot find symbol
        Utils u = new Utils();
        ^
symbol:   class Utils
location: class Manager
Manager.java:332: error: cannot find symbol
        Utils u = new Utils();
                      ^
symbol:   class Utils
location: class Manager
Manager.java:341: error: cannot find symbol
            Property temp = (Property)(itr.next());
            ^
symbol:   class Property
location: class Manager
Manager.java:341: error: cannot find symbol
            Property temp = (Property)(itr.next());
                             ^
symbol:   class Property
location: class Manager
57 errors

C:\Estateman>

提前谢谢

好的,我想,关键是:

我让它们都成为一个包的一部分,并让Netbeans在每个类的顶部添加一个“package*Project_Name*”

以及您要编译的命令:

javacmanager.java

假设您的包名为
projectname
。然后Netbeans创建了一个目录
projectname
,并将所有Java文件
Manager.Java
Property.Java
,等等放在其中

在Java中,包结构直接对应于文件系统中的目录结构。例如,如果包
x.y.z
中有一个类
a
,则类
a
的源代码文件位于文件
x\y\z\a.java

因此,当您复制所有
*.java
文件时,您必须确保同时复制原始目录结构。在您的情况下,您可以复制类
Manager.java
Property.java
。。。到
C:\test\projectname
。然后在您的DOS盒
cd
中转到该目录,并使用以下内容编译您的类:

javac -cp .. Manager.java
-cp..
命令行选项的含义是,包/目录结构的根在
C:\test
上一级。然后,在编译
Manager.java
时,java编译器会找到对class
Property
的引用,并假定class
Property
与class
Manager
位于同一个包中。因此,编译器正在查找类
projectname.Property
。使用指向
C:\est
,编译器知道它应该查找目录
C:\test\projectname

编译后,您可以使用以下工具运行程序:

java -cp .. projectname.Manager

您是否设置了适当的类路径?您并没有提供任何我们可以用来帮助您的实际信息。您应该包括一些关于所用类的基本信息。您是否设置了正确的类路径?您使用库吗?我试图编译的文件位于C:\Estatement中。我使用的库是java.util和java.io。其余的是我自己创建的类。如果发布正在运行的命令和得到的输出,可能会有所帮助。