Pracuję obecnie, jak skompilować Javę z linii poleceń w tej chwili. Oto co mam:pakiet java.nio.file nie istnieje
oto co mam:
/myjava/compile.cmd /myjava/src/a_pack/HelloWorld.java /myjava/src/b_pack/Inner.java /myjava/src/b_pack/Inner2.java /myjava/bin
HelloWorld:
package a_pack; import b_pack.Inner; import b_back.Inner2; import java.util.ArrayList; import java.util.Iterator; public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World"); Inner myInner = new Inner(); myInner.myInner(); Inner2 myInner2 = new Inner2(); myInner2.myInner(); ArrayList myArray = new ArrayList(); myArray.add(1); myArray.add(2); myArray.add(3); Iterator itr = myArray.iterator(); while (itr.hasNext()) { System.out.println(itr.next()); } } }
Inner.java
package b_pack; public class Inner { public void myInner() { System.out.println("Inner Method"); } }
Inner2.java
package b_pack; public class Inner2 { public void myInner() { System.out.println("SecondInner"); } }
Kompiluję to z javac -d bin -sourcepath -src src/a_pack/HelloWorld.java
i działa dobrze.
Teraz rozumiem, że ponieważ HelloWorld.java odwołuje się do innych pakietów w swoich instrukcjach importu, to javac je i kompiluje. I zgaduję, że dla wszystkich pakietów java, javac ma je wewnętrznie lub coś.
Zresztą - jeśli dodać następującą linię przywozowego HelloWorld.java
import java.nio.file.Files
;
nie powiedzie się z
D:\.....\myjava>javac -d bin -sourcepath src src/a_pack/HelloWo rld.java src\a_pack\HelloWorld.java:8: package java.nio.file does not exist import java.nio.file.Files; ^ 1 error
co chodzi tutaj? Dlaczego niektóre pakiety java są dobre, a inne nie?
NIO zostało wprowadzone w języku Java 7. Jaką wersję Java używa? – Reimeus
@Reimeus JDK, którego używam, zawiera javac to jdk1.6.0_32. – dwjohnston
Oto twoja odpowiedź. Musisz dokonać aktualizacji do JDK 7. – Reimeus