如何在模块路径中添加几罐罐子



我有以下情况:

模块地址:

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构建它们,因此每个模块都有其自己的目标dir,带有JAR文件。

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

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

,但我被拒绝了。我需要如何设置包括几个模块的模块路径?

在我用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

该错误的原因是,将罐子的路径指定为要在MacOS上执行的命令。

如果将模块路径视为MACOS目录的列表(通常是UNIX),则它与java工具文档不匹配。相反,您可以寻找的是

java --help

哪个指出

--module-path <module path> ... A 分开的目录列表,每个目录 是模块的目录。

,在这种情况下,应为您工作的命令应为: -

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

最新更新