修改Jlinking时没有找到当前模块

时间:2018-04-08 10:01:15

标签: java maven jlink moditect

我正在使用ModiTect来Jlink我的Java应用程序。在README和两个示例undertowvert.x之后,我将此添加到pom.xml

<execution>
    <id>create-runtime-image</id>
    <phase>package</phase>
    <goals>
        <goal>create-runtime-image</goal>
    </goals>
    <configuration>
        <modulePath>
            <path>${project.build.directory}/modules</path>
        </modulePath>
        <modules>
            <module>tech.dashman.dashman</module>
        </modules>
        <outputDirectory>${project.build.directory}/jlink-image</outputDirectory>
    </configuration>
</execution>

我还使用ModiTect将module-info.java注入不具备它们的依赖项中,但我认为这与此问题无关。当我运行mvn package时,它会因此错误而失败:

[ERROR] Error: Module tech.dashman.dashman not found

这是pom.xml的模块。为什么没找到它(当例子表明它会自动找到时)?

添加模块路径使其可以找到:

<modulePath>
    <path>${project.build.directory}/modules</path>
    <path>${project.build.directory}/classes</path>
</modulePath>

但是我必须指向classes目录中的target子目录,因为如果我指向target以便找到jar文件,我会得到这个错误:

[ERROR] Error: Two versions of module tech.dashman.dashman found in C:\Users\pupeno\Documents\Dashman\code\dashman\target (dashman-1.0.0-beta.2.jar and classes)

0 个答案:

没有答案