maven 把项目打成jar 并且运行

一般maven package 不会把依赖的jar 打在jar中 ,打出来的jar名称一般为senddata-0.0.1-SNAPSHOT.jar。

当在cmd窗口输入java -cp senddata-0.0.1-SNAPSHOT-jar-with-dependencies.jar com.TestEMGD 运行jar时,

会发生依赖的jar找不到。

这时需要在pom文件增加插件maven-assembly-plugin 

 

<plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <!--这部分可有可无,加上的话则直接生成可运行jar包  试过没成功-->
                    <archive>
                       <manifest> 
                            <!--有main方法的类的名称 要全名 -->
                            <mainClass>com.TestEMGD</mainClass>
                       </manifest>
                   </archive>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
                 <executions>
                        <execution><!-- 配置执行器 -->
                             <id>make-assembly</id>
                             <phase>package</phase> <!-- 绑定到package生命周期阶段上 -->
                             <goals>
                                  <goal>single</goal><!-- 只运行一次 -->   
                             </goals>
                        </execution>
                   </executions>
            </plugin>
这时打出的包名为senddata-0.0.1-SNAPSHOT-jar-with-dependencies.jar 并且正常执行。

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值