在我们的框架中,我们在公共API中有一个与此方法的接口:
JaxbConfiguration newJaxbConfiguration(Options xjcOpts);在实现过程中,我们会这样做:
import com.sun.tools.xjc.ModelLoader;
import com.sun.tools.xjc.Options;
import com.sun.tools.xjc.model.Model;
...
public JaxbConfiguration newJaxbConfiguration(Options xjcOpts) {
Model model = ModelLoader.load(xjcOpts, ...);
...
}然而,OSGi和Java9的拼图都不喜欢我们使用com.sun.tools.xjc.Options,而不是在我们的实现中,尤其是在我们的公共API接口中。
我们怎么才能摆脱它呢?
发布于 2016-07-15 13:17:44
JDeps网站列出了一些JDK内部API以及替换它们的推荐方法。但是,没有提到ModelLoader.load()的使用。我的猜测是,这个用例还不够引起JDeps团队的注意。
我的建议是重构这个方法,以便
您没有提到JaxbConfiguration是什么或者它来自什么库,所以我很难确切地说明如何构造它。无论如何,这个答案是关于如何删除内部API的使用。如何构造JaxbConfiguration可能是另一个问题。
https://stackoverflow.com/questions/38371041
复制相似问题