Spring boot 使Spring Boot Jar可执行抛出;java.class.nonPublicPartOfAPI“;错误
我有一个运行良好的Spring Boot应用程序,但现在我想让它通过execjar运行。我将以下内容添加到我的应用程序中Spring boot 使Spring Boot Jar可执行抛出;java.class.nonPublicPartOfAPI“;错误,spring-boot,maven,Spring Boot,Maven,我有一个运行良好的Spring Boot应用程序,但现在我想让它通过execjar运行。我将以下内容添加到我的应用程序中 <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configur
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>me.Application</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>build-info</goal>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
如果我删除了maven插件,安装工作正常,但不能作为jar执行
我错过了什么
更新
我也试过
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>me.Application</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
但这不是一个可接受的解决方案,因为如果存在合法的问题,我将错过它。您所需要的只是提供的默认设置Spring Boot e、 g
org.springframework.boot
springbootmaven插件
如果您想要可执行JAR,请确保在pom包中未将其设置为WAR这不起作用,我仍然获得no main manifest属性,在target\my-war.warcan中,您可以共享完整的pom.xml。我可以安装部件,但会保留内部的DEP。我还可以运行命令确认插件版本等,但真正的问题在于:revapi maven plugin。如果不是因为这个原因,第一个会起作用。显示target\my-war.war和not.jar是很奇怪的,所以也许你已经在你的POM中设置了war,我强烈建议升级revapi maven插件,因为你使用的是旧版本。。。此外,远程maven程序集插件配置导致spring boot使用spring boot maven插件…为什么需要war文件?@khmarbaise所以让我尝试回答所有这些问题。首先,当我尝试升级我们私人回购协议(我们无法直接访问公共回购协议)中的插件时,出于安全考虑,它被拒绝。我开了一张票,但还没有回音,所以现在不可能了。当问题解决后,我会让你知道它是否有效。至于战争,infra只要求这样做,所以我不知道是否可以详细说明,因为我不确定。提到的问题是插件中的一个bug `但是类是不可访问的(既不是公共的,也不是受保护的)`因为看起来像是一个产生错误的包私有类。这意味着revapi maven插件需要升级。。。没有别的办法,别的都不对。。为什么不更新有问题的插件?听起来是个错误的方法…@khmarbaise这里我们有一个类似于yum的命令行工具,我们可以通过它请求新的dep,显然存在一些问题,一些可能是错误的标志。例如,它在dom4j中显示了一个不够新的问题
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>me.Application</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
<plugin>
<groupId>org.revapi</groupId>
<artifactId>revapi-maven-plugin</artifactId>
<configuration>
<analysisConfiguration>
<revapi.ignore>
<item>
<code>java.class.nonPublicPartOfAPI</code>
</item>
</revapi.ignore>
</analysisConfiguration>
</configuration>
</plugin>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>