欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用Maven打包可执行jar包碰到的一个问题

程序员文章站 2022-04-28 22:53:38
...

最近公司有一个项目,有一个小模块的demo写好了以后需要打成jar包运行,因为我接手开始写时,团队大佬已经把项目大体写好了,我只需要完善业务逻辑即可。写完后准备打成jar包部署,然后打完jar包后放在服务器上运行时一直报类找不到,看了一下pom.xml

 <pluginManagement> </pluginManagement>``

发现插件最外层是一对这个注解,不是plugins,百度一下这个注解的含义,发现这个还是和plugins有区别的
plugins 和 pluginManagement 的区别,plugins 下的 plugin 是真实使用的,而 pluginManagement 下的 plugins 下的 plugin 则仅仅是一种声明,子项目中可以对 pluginManagement 下的 plugin 进行信息的选择、继承、覆盖等。
所以我猜测可能是这个注解导致我配置的maven-shade-plugin插件并没有产生作用,然后将其注释掉后,再次打包,这次打包的jar包就可以直接运行了
附上maven-shade-plugin插件配置

<plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-shade-plugin</artifactId>
                    <version>2.3</version>
                    <executions>
                        <execution>
                            <phase>package</phase>
                            <goals>
                                <goal>shade</goal>
                            </goals>
                            <configuration>
                                <transformers>
                                    <!--可执行的main方法-->
                                    <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                        <mainClass>com.xbsafe.smarthome.PlatformApplication</mainClass>
                                    </transformer>
                                </transformers>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
相关标签: maven java