ฉันอยู่ในระบวนการของ upgrading เล็กๆฤดูใบไม้ผลิงเทาออกจากโปรแกรมจาวา 8 ต้องของจาวาอน 11 โมง โครงการนี้มันใช้ของ javax.smartcardio
. ฉันกำลังสร้างมันด้ว maven.
คน pom.xml
ง่ายๆก็คือเงื่อนไขต่อไปนี้ dependencies/โปรแกรมเสริม:
- ฤดูใบไม้ผลิ-บูทน่าเริ่มต้น-พ่อแม่(2.5.6)
- ฤดูใบไม้ผลิ-บูท-แค่สตาร์ทเตอร์-ทดสอบ
- ฤดูใบไม้ผลิ-บูทน่าเริ่มต้น-บนเว็บ
- ฤดูใบไม้ผลิ-บูท autoconfigure
- กรวดพวก-ฤดูใบไม้ผลิ-บูท-2-น่าเริ่มต้น
- ฤดูใบไม้ผลิ-บูทน่าเริ่มต้นระบบรักษาความปลอดภัย
- ฤดูใบไม้ผลิ-บูท maven-โปรแกรมเสริม
- maven-ทรัพยากร-โปรแกรมเสริม
- maven-โรงเรี-โปรแกรมเสริม
- ขนาด exec-maven-โปรแกรมเสริม
หลังจาก upgrading ทั้งหมดของฉั dependencies และใช้ OpenJDK11 หรับการออกแบบโครงการ compiles และวิ่งได้(mvn clean package
). โดยเฉพาะอย่างยิ่งตอนที่เขียนโดยใช้ชั้นเรียนจาก javax.smartcardio
ยังทำงานสบายดี
Intellij อย่างไรก็ตามคือการทำตัวเน้นทั้งหมดของฉันำเข้าเอกสารหรือของแพกเกจ javax.smartcardio.
ในชุดสีแดง ตอนป้วนเปี้ยนจบมันมันบอกฉันว่า Intellij - Package 'javax.smartcardio' is declared in module 'java.smartcardio', which is not in the module graph
. Intellij บ่งบอกเพื่อเพิ่มมอดูลนี้ผ่านทางคอมไพเลอร์กับตัวเลือก --add-modules java.smartcardio
. ตอนที่ทำแล้ว Intellij หยุดการทำตัวเน้นที่นำเข้าเอกสารหรือ.
คำถามคือตอนนี้ทำไม Intellij การทำตัวเน้นพวกนั้นนำเข้าเอกสารหรือแม้ว่าทุกอย่างรวบรวมและวิ่งได้ดียังไงก็ตาม? ฉันพลาดอะไรไป คือมันสำคัญมากที่จะเพิ่มมันศูนย์ควบคุม kde ในโมดูลที่รวบรวม? บางที maven ทำอะไรสักอย่างในคำนึงถึงสำหรับฉันแล้วเหรอ? ถ้าอย่างนั้นซึ่งส่วนหนึ่งฉันควรจะมองหา?
ผมเคยอ่านเรื่องการใช้ module-info.java
แต่มาทสรุปที่เห็นได้ชัดว่าเรื่องใช้มันเพื่อแก้ไขปัญหาของฉันจะไม่ได้เป็นคนที่เก่งที่สุดทางออกหรอกนะ เห็นยัง วางแผนอะไรไว้สำหรับงานจาวา 9 จิ๊กซอว์ name(ศูนย์ควบคุม kde ในโมดูล)ของฤดูใบไม้ผลิงยิ่งสนง.โครงการ?