【发布时间】:2018-04-27 10:09:17
【问题描述】:
我正在尝试迁移我当前的项目,以便能够在 java 9 上编译和运行它。我首先尝试将基于 java8 的项目移动到 java9,而不需要太多努力,这意味着基本上不会移动到 jigsaw。
项目结构类似于
myjava-service [myjava-service-parent] parent-pom with the following modules
- myjava-service
- myjava-service-common
- myjava-service-test
它与 mvn clean package 完美编译,并在我执行该 fat.jar 时运行
当我尝试使用 intellij 运行它时,噩梦就开始了,要在 intellij 上运行,我必须设置我要执行的模块,即 myjava-service 但显然 intellij 将其理解为 java 9 模块,并且有很多拆分包问题、找不到类和其他我正在努力解决的问题,所以我的问题是有没有办法在 java 9 环境下的 intellij 上运行服务,而不会以某种方式触发新的 java 模块系统?
对于像
这样的记录问题java.lang.module.ResolutionException: Modules javax.annotation.api and annotations export package javax.annotation to module javax.el
【问题讨论】:
-
这个问题要么太模糊,要么太宽泛。您能否具体说明您的 IDE 报告的确切错误?另外,intellij 是否在 java 9 上运行?
-
嘿,是的,我可以,正如我所说,许多库的拆分包问题,这只是问题之一,但是我可以给你,我会用一些错误更新我的问题,但是请我不指望补丁命令能解决这个问题,我已经修补了很多库:(
-
我刚刚阅读了我的问题,我明白你的意思看起来我想解决所有问题,但实际上我只是想在没有激活 java 模块系统的情况下在 intellij 上运行我的项目,也许现在听起来更好?
-
你必须在 Java 9 上运行吗?
-
是的,我们真的很想知道将服务迁移到 java 9 需要付出多少努力,我们不想落后于 java 版本。我们想优雅地做到这一点,首先在乞讨中以最小的努力启动并运行此服务,然后慢慢添加 java 9 功能等......
标签: java intellij-idea java-9