Maven打包--解决没有依赖jar包问题

文章讲述了作者在使用SpringBoot开发FTPServer时遇到的Maven打包问题,jar文件过小且缺少依赖。通过配置maven-assembly-plugin,解决了将第三方依赖包包含在打包后的jar中的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录


问题

        最近半年多做得项目都是springboot项目,今晚写了个FTPServer小软件,通过Maven打包之后jar文件只有20KB。通过命令运行后,提示没有指定运行的Main程序。出现错误信息:java.lang.NoClassDefFoundError 和 ClassNotFoundException。

原因分析

        jar文件只有20KB。明显不对,打开一看里面缺少依赖的jar包。

解决办法

<build>
    <plugins>
        <plugin>
            <!--<groupId>org.apache.maven.plugins</groupId>-->
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>

        <plugin>
            <artifactId>maven-assembly-plugin </artifactId>
            <configuration>
                <descriptorRefs>
                <!-- 此处填写打包后jar包后添加的标识 -->
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
                <archive>
                    <manifest>
                    <!-- 此处填写程序的主入口(main方法) -->
                        <mainClass>com.liuyifen.Start.main</mainClass>
                    </manifest>
                </archive>
            </configuration>
            <executions>
                <execution>
                    <id>make-assembly</id>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

问题小结

        maven打包时,默认不会将第三方依赖包打进来。可以在pom.xml中添加maven-assembly插件实现… 打出的包里 xxxx-with-dependencies.jar 就是包含依赖包的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘一说

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值