IDEA使用maven插件打jar包流程
idea使用maven插件打jar包步骤以及遇到的问题
idea自带了maven工具,idea右边点击maven选项:

一、在pom中添加插件,直接复制就好,如下选项
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>test.TestOperFile</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
注意:关于插件中这个地方需要注意一下:

这里分为两种情况
a.打包scala程序
如果只是打包scala程序的话,这里代表的是主函数的方法名,一定是全路径名(包名+类名)
jar包运行方式:java -jar test.jar [参数1 参数2...]
b.打包spark程序
如果是打包spark程序的话,这里可以随意,不影响,运行的时候需要指定类名即可
jar包运行方式:
spark-submit --class test.testOperator \
--master yarn \
--deploy-mode client \
--driver-memory 3g \
--executor-memory 2g \
--executor-cores 1 \
--num-executors 4 \
--jars /hadoop/datadir/deploy/lib/mysql-connector-java-5.1.7-bin.jar \
--conf spark.sql.shuffle.partitions=100 \
--conf spark.shuffle.sort.bypassMergeThreshold=5 \
--conf spark.kryoserializer.buffer.max=128m \
--conf spark.serializer=org.apache.spark.serializer.KryoSerializer \
--conf spark.sql.parquet.compression.codec=snappy \
--conf spark.shuffle.sort.bypassMergeThreshold=5 \
--conf spark.locality.wait.node=6 \
--conf spark.locality.wait.process=6 \
test.jar [参数1,参数2...]
运行参数可以根据自己的需求进行调整
二、开始打包(清空target目录->编译->打包),有时候也需要执行install进行发布到仓库中,根据自己的需求

打包后的结果:

*************************************************************************************************************************************************************
* 或者进行打包的时候后也可以直接打开idea底下的terminal,执行命令记性打包:mvn assembly:assembly
* 
*************************************************************************************************************************************************************
如果出现上图所示,说明打包成功,此时找到右边的target目录,下面会有两个包:

然后执行的时候,我们只需要执行第二个包就可以了,也就是名字长的那个包:
三,jar包的执行:
a.对于scala程序的jar包,因为main函数已经在pom中打包之前指定了,所以执行的时候如果有参数,只需要传入相应的参数即可,用空格分开
1、使用 "java -jar" 的方式提交:

2、使用submit的方式提交程序

可以看到,也可使用submit的方式进行提交,可以指定--class,也可以不指定
b.对于spark程序的jar包,此时即使是在pom中指定了main函数,在提交的执行的时候必须按照spark程序的提交方式进行提交,即使用submit的方式,不能用 java -jar的方式提交,否则会报错
1、使用submit的方式提交程序:

这样提交运行之后是没有什么问题的
2、使用 "java -jar" 的方式提交:

报错,至于如何解决,本人暂时还没有找到好的方案。希望能够帮到需要的童鞋
IDEA使用maven插件打jar包流程的更多相关文章
- Maven工程引入jar包
Maven项目引入jar包的方法 法一.手动导入:项目右键—>Build Path—>Configure Build Path—>选中Libraries—>点击Add Exte ...
- 如何在maven中添加jar包
Maven 中央仓库地址: 1. http://www.sonatype.org/nexus/ 2. http://mvnrepository.com/ (本人推荐仓库) 3. http://repo ...
- 转:maven项目添加jar包.
很多新手都不知道如何在maven项目里添加jar包. 以前我还没接触maven的时候下载过一个demo,是maven项目. 我居然是照着他的pom.xml文件一个一个的写!!! 很多人认为理所当然的东 ...
- Maven工程引入jar包(转)
Maven项目引入jar包的方法,希望能帮助有需要的朋友们 法一.手动导入:项目右键—>Build Path—>Configure Build Path—>选中Libraries—& ...
- 一篇关于Maven项目的jar包Shell启动脚本
使用Maven作为项目jar包依赖的管理,常常会遇到命令行启动,笔者也是哥菜鸟,在做微服务,以及服务器端开发的过程中,常常会遇到项目的启动需要使用main方法,笔者潜心的研究了很多博客,发现大多写的都 ...
- IDEA中MAVEN项目打JAR包的简单方法
Idea中为一般的非Web项目打Jar包是有自己的方法的,网上一搜就能查到很多. 但是如果是为Maven项目打Jar包,其实是很简单的,因为maven本身就有打Jar包的命令. 最简单的方法 ...
- setting-mirrorO以及下载jar包流程简介
mirrorOf常见的几种配置如下 1.* 2.repo3 3.repo1,repo2,*,!repo3 4.external:* 第二个例子只配置了一个repo3,这个镜像只能匹配id是repo3的 ...
- Maven项目打Jar包,如何添加依赖
之前介绍了使用spring-boot-maven-plugin插件打jar包,会把所有的依赖文件都导入,然后变成了一个可执行的jar包.这样的不好的地方就是,我实际上并不需要把依赖的jar包也打入到生 ...
- maven 工程导入jar包
Maven项目引入jar包的方法,希望能帮助有需要的朋友们 法一.手动导入:项目右键—>Build Path—>Configure Build Path—>选中Libraries—& ...
随机推荐
- MySQL中orderby和limit分页数据重复的问题
背景 读取规则是按照某表中sequence字段排序的,而这个字段是让人手工填写的.那么,可想而知,数据一多,难免会出现填写的值相同的情况. 综上所述,可能就会导致以下两条sql出现数据重叠的情况: s ...
- celery使用多队列
生产者: 文件1: 定义任务 #!/usr/bin/env python3 # coding: utf-8 from celery import Celery import settings pw = ...
- python_django_分页
分页:把从数据库中的数据分为多页在客户端显示. 在django中,可通过这两个对象来实现: Paginator对象 Page对象 Paginator对象与Page对象的关系: paginator对象调 ...
- Goaccess的简单使用
goaccess了,它是一个日志分析工具,并不只是为nginx使用的,你也可以用它来分析apache,具有解析速度快,使用简单,能生成json,html,csv等特点. 1.goaccess的基本安装 ...
- 【错误总结】Component template should contain exactly one root element. If you are using v-if on multiple elements, use v-else-if to chain them instead.
大致意思是因为模板里面应该包含一个根元素,使用组件的时候应该用div或p标签包起来
- Xversion for Mac优秀的SVN客户端功能特色介绍
xversion for mac是一款专为macOS打造的svn客户端,该软件拥有一个设计精美的界面以及全面的功能,简介的用户界面可以让您做到无需浏览用户手册即可熟练使用.xversion支持从最开始 ...
- leetcode-160场周赛-5238-找出给定方程的正整数解
题目描述: class Solution: def findSolution(self, customfunction: 'CustomFunction', z: int) -> List[Li ...
- 【Jenkins、sonar】
1.Jenkins入门(一)安装Jenkins 2.Jenkins入门(二)部署java项目 3.Jenkins远程部署SpringBoot应用 4.配置sonar.jenkins进行持续审查 5.S ...
- 调用JavaScript实现字符串计算器
调用JavaScript实现字符串计算器 如果表达式是字符串的形式,那么一般我们求值都会遇到很大的问题. 这里有一种直接调用JavaScript的方法来返回数值,无疑神器. 代码如下: @Fros ...
- 2015ICPC chanchun HDU 5534 (树形题转换完全背包)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=5534 题意:给你n个点,让你加上n-1条边使他变成一棵树,题目首先给你a[1] a[2].....a[n- ...