Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java jlink未找到module-info.class_Java_Maven 3_Jlink - Fatal编程技术网

Java jlink未找到module-info.class

Java jlink未找到module-info.class,java,maven-3,jlink,Java,Maven 3,Jlink,我使用的是一个maven项目的布局 src main java <some-package-name> module-info.java src 主要的 JAVA module-info.java 我使用的唯一插件是maven编译器插件,版本3.7.0 <build> <finalName>${project.artifactId}</finalName> <plugins>

我使用的是一个maven项目的布局

src
  main
    java
      <some-package-name>
       module-info.java
src
主要的
JAVA
module-info.java
我使用的唯一插件是maven编译器插件,版本3.7.0

 <build>
    <finalName>${project.artifactId}</finalName>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.7.0</version>
            <configuration>
                <source>9</source>
                <target>9</target>
            </configuration>
        </plugin>
     </plugins>
  </build>

${project.artifactId}
org.apache.maven.plugins
maven编译器插件
3.7.0
9
9
当我运行命令
jlink--modulepath$JAVA_HOME/jmods:target--addmodules foo--output jre
输出是
错误:在target(foo.jar和class)中找到了两个版本的模块foo

但是,当我运行
jlink--modulepath$JAVA_HOME/jmods:target/foo.jar--addmodules foo--output jre
时,它会显示
错误:找不到module foo


因此jlink可以看到模块存在,但无法找到我的模块信息。maven是否缺少一些东西来将文件放在正确的位置?

我不清楚maven是如何处理java模块的,因此我无法提供完整的答案。但是我在您的图表中没有看到模块文件夹“foo”,这会使查找foo的module-info.class变得困难。一个合适的模块需要一个名为模块名的文件夹和一个内容为“模块名{…}”的模块信息

类似于上述结构的东西应该是朝着正确方向迈出的一步

这假设您的module-info.class是“module foo{…}”

src
   main
      java
         foo
            module-info.class
            the-compiled-java-classes-of-your-application