2017-09-30 14 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.*; 
} 

それを行う方法はありますか?この制限はどこから来ますか?これはすぎなかっコードmodularisingの目的を覆す異なるモジュールからエクスポート異なるパッケージでの競合につながる可能性があるので

答えて

8

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

の使用が推奨されます。


は、さらにいずれかのスレッドからの引用:モジュールによってエクスポート

パッケージは 消費者が信頼できる安定したAPIであることを意味しています。このため、モジュールの作者 は、エクスポートされたパッケージを明示的にのスペルにします。これは、同じパッケージを不必要にエクスポートする複数のモジュールが存在する可能性があるので、 のダイヤルダウンも行います。 が資格なしでエクスポートされ、com.abs.fooが 資格でエクスポートされた場合に発生する混乱を回避します。

関連する問題