【问题标题】:How to add several jars to module path?如何在模块路径中添加几个 jar?
【发布时间】:2018-06-03 10:41:18
【问题描述】:

我有以下情况:

模块地址:

module org.abondar.experimental.address {
    exports org.abondar.experimental.address;
}

模块人员:

module org.abondar.experimental.person {
    requires org.abondar.experimental.address;
    exports org.abondar.experimental.person;
}

我使用 Maven 构建它们,所以每个模块都有自己的目标目录和 jar 文件。

我正在尝试运行具有这样的主类的模块 Person

java --module-path Address/target/Address-1.0.jar;Person/target/Person-1.0.jar -m org.abondar.experimental.person/org.abondar.experimental.person.Main

但是我的权限被拒绝了。如何设置包含多个模块的模块路径?

【问题讨论】:

  • 请显示您收到的错误消息的全文(或整个堆栈跟踪,如果您收到异常)。
  • 也很高兴看到你的pom.xml

标签: java maven java-9 java-platform-module-system module-path


【解决方案1】:

在我的一个使用 MacOS 的项目上尝试这个,我几乎得到了类似的东西 -

zsh: permission denied: .../.m2/repository/test/test/1.0.0-SNAPSHOT/test-1.0.0-SNAPSHOT.jar
zsh: permission denied: .../.m2/repository/org/slf4j/slf4j-log4j12/1.7.12/slf4j-log4j12-1.7.12.jar
zsh: permission denied: .../.m2/repository/org/slf4j/slf4j-api/1.7.12/slf4j-api-1.7.12.jar

该错误的原因是 JAR 的路径被指定为 command to be executed on MacOS instead

如果您将模块路径视为 MacOS 的目录列表(通常可能是 Unix),则它与 java tool documentation 不匹配。相反,您可以寻求的是

java --help

说明

--module-path <module path> ... : 分隔的目录列表,每个目录 是一个模块目录。

在这种情况下,对你有用的命令应该是:-

java --module-path Address/target/Address-1.0.jar:Person/target/Person-1.0.jar -m org.abondar.experimental.person/org.abondar.experimental.person.Main

【讨论】:

  • 我很想知道“权限被拒绝”的来源。这是一个脚本而不是java?在模块路径上,java --help 在其输出中没有足够的空间来显示所有详细信息。相反,请参阅 JEP 261,您将看到模块路径上的条目可以是模块或模块目录。
  • @AlanBateman 起初在我看来也是如此,就像--help 输出未完全包含在输出中,并且随之发生此权限被拒绝。将进一步调查以找出导致权限被拒绝的确切原因。(至少对我而言)
  • @AlanBateman 我的一个 MacOS 项目 我的意思是我用 ; 分隔路径和那就是我得到上述共享错误的地方。我的命令行中的路径有那些 .m2/repository 目录。另外补充一下细节,当我尝试像../.m2/repository/test/test/1.0.0-SNAPSHOT/test-1.0.0-SNAPSHOT.jar 这样简单的东西(是的,除此之外没有其他命令)时,我遇到了类似的错误。也许外壳对此负责。让自己有点疑惑。
  • 该;用于分隔 OS X(和其他 Unix/Linux 系统)上的命令。因此,我怀疑您将 JAR 文件的路径用作命令,这将解释“权限被拒绝”错误。
  • @AlanBateman 好吧,确实我最终将路径指定为命令,这也解释了错误。谢谢:)
猜你喜欢
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-10
  • 1970-01-01
  • 2020-03-01
  • 1970-01-01
相关资源
最近更新 更多