2017-09-30 6 views
4

지금 당장 모든 모듈에 대해 내보낼 패키지를 명시 적으로 지정해야합니다. 예 :Java 9 모듈에서 모든 패키지를 내보내는 방법은 무엇입니까?

module core { 
    exports cc.blynk.server.core; 
    exports cc.blynk.server.core.protocol.handlers.decoders; 
    exports cc.blynk.server.core.protocol.handlers.encoders; 
} 

그러나 매우 편리하지는 않습니다. 나는 그런 것을하고 싶다 :

module core { 
    exports cc.blynk.server.core.*; 
} 

어떤 방법이 있나? 이 제한은 어디에서 비롯됩니까? 이 majorly 코드를 모듈화의 목적을 아무리 다른 모듈에서 내 보낸 다른 패키지 충돌이 발생할 수 있기 때문에

답변

8

module core { 
    exports cc.blynk.server.core.*; 
} 

의 사용은 권장되지 않습니다.


는 또한 스레드 중 하나에서 인용 : 모듈에 의해 수출

패키지는 소비자가 신뢰할 수있는 안정적인 API로 의미가있다. 이러한 이유 때문에 모듈 작성자에게 은 내 보낸 패키지를 명시 적으로 기입합니다.. 또한 동일한 패키지를 불필요하게 내보내는 다중 모듈 가능성이있는 전화를 겁니다. 또한 com.abs.* 을 인증없이 내보내고 com.abs.foo을 자격으로 내보내는 경우 발생하는 혼란을 피할 수 있습니다.