3

我有一个项目,今天有几个罐子作为“参考库”。相反,我想将这些作为自动模块添加到模块路径中,这样我就可以在我的 module-info.java 中要求它们。如何将 jars 添加到 Eclipse Oxygen 的模块路径中?

4

1 回答 1

2

这是我如何让它工作的(前几个步骤是为那些还没有为 JDK 9 使用设置 Eclipse 的人准备的):

  1. 安装 JDK 9(此时 Oracle 提供了 9.0.1)。
  2. 通过添加以下行来修改 eclipse.ini 并重新启动 Eclipse,将 Eclipse 配置为与 JDK 9 一起运行:

    -vm
    <fullPathToJDK9>/bin
    --add-modules=ALL-SYSTEM
    
  3. 在您的项目属性中,转到 Java Build Path,然后在 Classpath 下,为您希望成为模块的每个 jar 展开twisty。您应该会看到一个名为“非模块化”的新条目。单击它并单击编辑按钮。在打开的模块化属性对话框下,选中“定义一个或多个模块”框。单击确定,它现在应该说“是模块化的”,它将被移动到 Modulepath。

  4. 应用您的更改,您的 module-info.java 应该能够要求这些 jar。使用不带任何版本标识符或 .jar 后缀的 jar 名称,例如对于 myLib-1.0.jar,使用requires myLib;.

顺便说一句,我在使用 Maven 生成的 jar 时遇到了问题,其名称如appName-1.0-SNAPSHOT.jar. 我无法在 module-info.java 中使用它们,因为它找不到它。摆脱 SNAPSHOT 部分使得使用它成为可能。

于 2017-10-23T00:13:00.513 回答