Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot 使Spring Boot Jar可执行抛出;java.class.nonPublicPartOfAPI“;错误_Spring Boot_Maven - Fatal编程技术网

Spring boot 使Spring Boot Jar可执行抛出;java.class.nonPublicPartOfAPI“;错误

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

我有一个运行良好的Spring Boot应用程序,但现在我想让它通过execjar运行。我将以下内容添加到我的应用程序中

        <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>