【发布时间】:2016-07-08 14:51:39
【问题描述】:
我创建了两个小项目de.app1和de.app2,其中App from de.app1使用Test from de.app2.
├── de.app1
│ ├── de
│ │ └── app
│ │ └── App.java
│ └── module-info.java
└── de.app2
└── de
└── test
└── Test.java
module-info.java 在第一个项目中只包含module de.app1 {}
我编译了第二个项目并创建了一个jar文件:
javac de/test/Test.java
jar cf app2.jar de/test/Test.class
然后尝试像这样编译第一个项目:
javac -cp ../de.app2/app2.jar de/app/App.java module-info.java
因为找不到Test 而失败。当我在没有 module-info.java 的情况下编译项目时,一切正常。
是否有可能使用不是 Java 9 模块在 Java 9 模块中的 jar 中的类?特别是对于依赖于 3rd-party 项目的项目(例如 apache-commons,...),我认为需要这样的东西。
【问题讨论】:
标签: java java-9 java-platform-module-system