我尝试到建立一个本机映像与graalvm和spring Boot .我的项目有几个模块.当我尝试到建立本机映像我得到这个错误:第一个月当我在父pom文件的属性中定义mainClass路径(API)时,我得到了这个错误:Error: Main entry point class 'org.example.api.Application' neither found on the classpath nor on the modulepath.如何定义包含graalvm主类的模块?
mainClass
Error: Main entry point class 'org.example.api.Application' neither found on the classpath nor on the modulepath.
mwg9r5ms1#
在父pom(声明所有模块的pom)中使用以下语法
<modules> <module>module1</module> <module>module2</module> <module>module3</module> </modules>
使用最新的 Spring Boot BOM作为父项
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.0.1</version> <relativePath/> <!-- lookup parent from repository --> </parent>
然后覆盖本地配置文件
<profiles> <profile> <id>native</id> <build> <pluginManagement> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.graalvm.buildtools</groupId> <artifactId>native-maven-plugin</artifactId> <executions> <execution> <id>build-image</id> <goals> <goal>compile-no-fork</goal> </goals> </execution> </executions> </plugin> </plugins> </pluginManagement> </build> </profile> </profiles>
此时,在模块中(需要本机构建的地方),可以设置以下构建配置:
<build> <plugins> <plugin> <groupId>org.graalvm.buildtools</groupId> <artifactId>native-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
此时,您将能够使用mvn -Pnative clean package编译项目
mvn -Pnative clean package
1条答案
按热度按时间mwg9r5ms1#
在父pom(声明所有模块的pom)中使用以下语法
使用最新的 Spring Boot BOM作为父项
然后覆盖本地配置文件
此时,在模块中(需要本机构建的地方),可以设置以下构建配置:
此时,您将能够使用
mvn -Pnative clean package
编译项目