Не могу скомпилировать Netbeans, сгенерированные файлы .java в .class в командной строке - PullRequest
0 голосов
/ 02 апреля 2012

Я собрал свою Java-программу как часть унифицированного задания, и как часть представления она должна быть в состоянии быть скомпилированной и запущенной в окне DOS (см. Окно команд Windows).Программа отлично работает в Netbeans, но когда я копирую все файлы .java в отдельную папку и пытаюсь скомпилировать каждую, я получаю огромное количество ошибок компиляции.Когда я создал файлы в Netbeans, я сделал их частью одного пакета и позволил Netbeans добавить «package * Project_Name *» в начало каждого класса.В остальном стандартная java, ничего сложного.Это мой первый раз, когда я использую Netbeans (я использую версию 7.1.1), и это сводит меня с ума.Я могу создать файл .jar и запустить его из командной строки, но мне нужно иметь возможность показать, что исходный код может быть скомпилирован из командной строки, а полученный файл (ы) также может быть запущен из командылиния.У кого-нибудь еще была эта проблема, и если да, то как вы ее преодолели, или кто-нибудь знает, что делать, чтобы решить эту проблему.

У меня такое ощущение, что это связано со ссылками на другие файлы, поскольку большинствоошибки связаны с создаваемыми объектами и методами, которые вызываются из других файлов.Например, у меня есть файл Manager.java, в котором есть конструкторы и методы для объекта Manager, а затем в другом файле (скажем, Proprety.java) у меня есть код для создания объекта Manager с использованием нового ключевого слова.

текущее значение CLASSPATH, которое я использую:

CLASSPATH =.; C: \ Program Files \ java \ jdk1.7.0_03 \ lib; C: \ Program Files \ Java \ jre6 \ lib \ ext \ QTJava.zip;

Переменная PATH устанавливается как

...; C: \ Program Files \ Java \ jdk1.7.0_03 \ bin; C: \ Program Files \ 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

Команда, которую я выполняю:

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>

Заранее спасибо

1 Ответ

1 голос
/ 03 апреля 2012

Хорошо, я думаю, ключ здесь:

Я сделал их всех частью одного пакета и позволил Netbeans добавить "package * Project_Name *" в начало каждого класса.

И ваша команда для компиляции:

javac Manager.java

Предполагается, что имя вашего пакета projectname.Затем Netbeans создал каталог projectname и поместил в него все ваши файлы Java Manager.java, Property.java и т. Д.

В Java структура пакета напрямую соответствует структуре каталогов в вашей файловой системе.Например, если у вас есть класс A в пакете x.y.z, то файл исходного кода для класса 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 находит ссылку на класс Property и предполагает, что класс Property находится в том же пакете, что и класс Manager.Поэтому компилятор ищет класс projectname.Property.С опцией -cp, указывающей на C:\ţest, компилятор знает, что он должен смотреть в каталог C:\test\projectname.

После компиляции вы можете запустить вашу программу с:

java -cp .. projectname.Manager
...