–add-modules仅在编译时
我正在用maven和java-9构建我的项目。 我在我的pom.xml
文件中添加了:
maven-compiler-plugin ${maven-compiler-plugin.version} ${java.version} ${java.version} --add-modules java.xml.bind
但是,要运行应用程序,我必须像这样运行它:
java -jar --add-modules java.xml.bind my-app.jar
有没有办法构建应用程序,从没有--add-modules java.xml.bind
的命令行运行到java命令行参数?
我刚才回答了这个问题,我在这里回答了这个问题 ,以便使用Maven在Java-9中公开非java.se
软件包。
添加的部分特别关注使用独立版本的java.xml.*
API。 为了适应你可能开始消耗对jaxb-api:2.3.0
的依赖jaxb-api:2.3.0
,它可以作为模块加载,也可以从类路径执行。 您需要进行的更改是将以下内容添加到依赖项列表中:
javax.xml.bind jaxb-api 2.3.0
这样,您可以确保迁移到模块的独立API,并远离已弃用的代码段。