当使用三角臂命令mvn clean编译jib:build构建我的服务项目时,会出现以下错误:
无法执行目标
com.google.cloud.tools:jib-maven-plugin:1.0.2:build
项目my-service上的(build-image-and-tag-image):多个有效
找到了主要的类:com.myservice.MyServiceApplication,
io.swagger.Swagger2SpringBoot,也许您应该添加一个mainClass
配置到jib-maven-plugin-> [帮助1]
但是我已经设置了spring-boot的主要类
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.myservice.MyServiceApplication</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
它仍然不起作用。
我试图将其添加到臂架配置中:
<plugins>
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>jib-maven-plugin</artifactId>
<configuration>
<container>
<mainClass>com.myservice.MyServiceApplication</mainClass>
</container>
</configuration>
<executions>
<execution>
<id>build-image-and-tag-image</id>
<phase>package</phase>
<goals>
<goal>dockerBuild</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
它仍然不起作用。
强制臂架忽略其他类并使用com.myservice.MyServiceApplication的任何其他方法。
注意:mvn clean install工作正常,使用独立的spring boot应用程序时我没有问题。
最佳答案
需要在pom.xml文件的的定义中设置主类。
看起来像这样可以解决问题:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.myservice.MyServiceApplication</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>jib-maven-plugin</artifactId>
<configuration>
<container>
<mainClass>com.myservice.MyServiceApplication</mainClass>
<ports>
<port>8080</port>
</ports>
<environment>
<application.title>${project.name}</application.title>
<application.version>${project.version}</application.version>
</environment>
<jvmFlags>
<jvmFlag>-javaagent:/usr/local/newrelic/newrelic.jar</jvmFlag>
</jvmFlags>
</container>
</configuration>
</plugin>
.... (more plugin)
</plugins>
</build>
关于java - 使用JIB进行构建,即使定义了mainClass,也发现了多个有效的主类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55837213/