【问题标题】:How do I add modules to the Eclipse Oxygen module path for a project?如何将模块添加到项目的 Eclipse Oxygen 模块路径?
【发布时间】:2017-06-07 03:39:22
【问题描述】:

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

【问题讨论】:

  • 您是否尝试过使用javac --module-path mods --module-source-path "./*/src/main/java" --add-modules ALL-MODULE-PATH -d classes -module initial.module ?关注这个 -> jigsaw-dev.1059479.n5.nabble.com/…
  • @nullpointer 我不太明白这与 Eclipse 设置有什么关系。您是说与模块相关的所有内容都应该放在“运行配置”中吗?
  • 您安装了 Java 9 Support 的 Beta 版吗?
  • @greg-449 是的,我有。
  • 使用最新版本,您可以将普通的“引用库”标记为自动模块,请参阅Build Path > Libraries 属性页面,找到一个子节点“模块:”,您可以在 Toggle 之间“是”和“否”。如果您仍有问题,请告诉我们您的 Eclipse JDT 补丁的确切版本,因为这些工作仍在进行中。

标签: java eclipse java-9 eclipse-oxygen module-path


【解决方案1】:

这是我如何让它工作的(前几个步骤适用于尚未为 JDK 9 使用设置 Eclipse 的人):

  1. 安装 JDK 9(9.0.1 目前可从 Oracle 获得)。
  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 时遇到了问题,这些 jar 的名称类似于 appName-1.0-SNAPSHOT.jar。我无法在 module-info.java 中使用它们,因为它找不到它。去掉 SNAPSHOT 部分,就可以使用它了。

【讨论】:

  • 将项目从 IntelliJ 移动到 Eclipse -- 这些步骤让我开始运行
猜你喜欢
  • 2012-04-09
  • 2022-01-21
  • 2023-03-19
  • 1970-01-01
  • 2020-07-28
  • 2021-06-26
  • 1970-01-01
  • 2015-08-21
  • 1970-01-01
相关资源
最近更新 更多