????Java ??黯??????????????????????????? 2014 ????Щ???????? JSR??JSR-376?? ???壬????????????п????? Java 9 ?г??????????????????п???????????9 ?? 11 ???OpenJDK ??????????????汾????????? Jigsaw ?????
?????????????? Paul Bakker ?? JavaZone ????? Java ??黯????????????????????????????JSR-376 ??????????????Щ??????????????????????????????????????????????????????????????????????????????????????а?????????????????????????????????????????????????????????ζ????????е??Щ????????е??????????????????????????????????? Java ??黯????????????????????????????????????????????????????檔???????????????????????????????? OSGi ?????????
?????????????飿
??????????飿??????????????????????????????????????????“State of the module system”???????????????檔????黹??????????????????????Cliff ?????汾??
???????????? Java ?? jar ?????????????????Щ?????????Щclass????????????????Щ jar ??????????Щ package ?????????????????Щ????? jar ??????????ó??????????????????????????????????????????????·???С???????????????????Ч?????????????????????????????????????? jar ??????????·????????????п????????????佫?????????????????? jar ???У???????????·???С???·????????????? DLL ????????????????????????????????????????????????????????????? jar ?а?????Щ???? JRE ??????????????????????????? jar ??????????????????????????????????????????????????????????????????????????? jar ????????????????????????Щ?????? API ???? Java ???????黯???????????Щ??????
????????????????????????????????????????????????????
??????????????????????????????????????????????????????????????????????????????ū???????????????
?????????????????????????????????????????????????? JDK ???????????????????????????????????????????????????????????????????ó?????????????????顣
??????? JDK9 ?????
???????????????????д????????????????????? Jigsaw ???? JDK9 ????????汾???? OSX ??????????????????????????????????? Library/Java/JavaVirtualMachines/ ?????????????????????????? JAVA_HOME ??????????? JDK9 ????????????????????setjdk ??????????????????????????? Java ??????????л???????п?????????????????????汾?????? Java ????汾?????????? java -version ?????????ɡ???????????????
????java version "1.9.0-ea"
????Java(TM) SE Runtime Environment (build 1.9.0-ea-jigsaw-nightly-h3337-20150908-b80)
????Java HotSpot(TM) 64-Bit Server VM (build 1.9.0-ea-jigsaw-nightly-h3337-20150908-b80?? mixed mode)
??????????а??? Jigsaw ????????????????o??????????????? https://github.com/sandermak/jigsaw-firstlook ?????
???????????????
?????????????????jar???????·??????“??????”????????? JDK9 ????????????????????????????????????????????????????????????????????????????е????
??????????????????????????????????????????????????????????????? module-info.java ????????????????????????????????£?
????src
????module1
????module-info.java
????comtestTestClassModule1.java
????module2
????module-info.java
????commoretestTestClassModule2.java
?????????????????? package ??????????????module1?? module2??????????????????????????????Щ“?????”?У???????? module-info.java ???????????????????????????????????????????е??
?????? TestClassModule1 ?????
????package com.test;
????import com.moretest.TestClassModule2;
????public class TestClassModule1 {
????public static void main(String[] args) {
????System.out.println("Hi from " + TestClassModule2.msg());
????}
????}
???????????????????????????漰??飬????????? TestClassModule2 ????????????????????е? msg() ??????
????package com.moretest;
????public class TestClassModule2 {
????public static String msg() {
????return "from module 2!";
????}
????}
????????????module-info.java ???????
?????? Java ?????б???
?????????????????????????????飬??????????????????????????????????????μ? javac ?????????
????javac -modulesourcepath src -d mods $(find src -name '*.java')
?????????????????????????????????????? src ????е???????????-modulesourcepath ???????? javac ?????????????????????-d ????????????????????????javac ????????????????????Щ??顣???????????????? jars ??????????Щ?????????????????????衣