如何将添加模块传递给spring Boot 应用程序?

d7v8vwbk  于 2022-12-17  发布在  Spring
关注(0)|答案(1)|浏览(85)

我正在使用一个maven依赖项,它要求我在编译和运行时传递add-module,正如这里提到的。
有人能告诉我如何在编译和运行时将--add-module选项传递给spring Boot 应用程序吗?如果我能从pom.xml控制编译和运行时行为,那就太好了。

z9ju0rcb

z9ju0rcb1#

对于编译,您可以在构建pom.xml时使用maven-copmiler-plugin

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>compile</goal>
                        </goals>
                        <configuration>
                            <parameters>true</parameters>
                        </configuration>
                    </execution>
                </executions>
                <configuration>
                    <source>14</source>
                    <target>14</target>
                    <compilerReuseStrategy>reuseSame</compilerReuseStrategy>
                    <compilerArgs>
                        <arg>--enable-preview</arg>
                        <arg>--add-modules=jdk.incubator.foreign</arg>
                    </compilerArgs>
                </configuration>
            </plugin>
        </plugins>
    </build>

正如你所看到的,我还包括了--enable-preview。在JDK 14中,如JEPS 370中所报告的,它是不需要的,因为这不是一个预览功能。但请注意它,因为它可能在其他jdk版本中需要,因为在某些版本中,这属于预览功能。
至于运行时,spring-boot应用程序通常只是一个.jar可执行文件,您可以使用常规的java -jar myApp.jar命令启动它。
根据oracle文档,命令行的格式为
要执行JAR文件:
java [选项] -jar jar文件[参数...]
所以你想要的命令应该是

java --add-modules jdk.incubator.foreign -jar myApp.jar

相关问题