intellij idea 打可运行scala jar 包的两种方式

2023-11-13

今天折腾了一天 研究 idea 打可运行scala 代码的 jar 包。有些心得记录下来,供大家参考,希望能帮助到一些同事。

此前在网络上有一些关于打jar 包的资料,大都是一些转载,或者介绍的不是很详细。此篇是详细介绍打包过程以及思考推导方式,供大家参考。

此文章分为 1 IDEA 打可执行jar 包 

                    2 idea maven 打可执行jar 包 

两个部分介绍


IDEA 打可执行 jar 包

先创建scala project FILE-->new --> project -->scala 

              


然后输入自己的项目名称 创建OBJECT MAIN





注意: 要先配置 jdk 环境和 scala 环境 否则程序会报错,本篇文章不过度引申此细节。

然后开始配置打包 File--->project structure --> Artifacts 然后点击 "+"

待出现弹窗后写入自己配置的主类 如图:


写入自己配的含有 main object  点击OK 然后 会显示如下界面


如上图:黑色框代表你jar 的生成路径 , 红色框代表已经加入到打包里面的信息,绿色框代表你自此打包的被调用的主函数类,紫色框是IDEA认为你有可能需要添加入jar 中的其他类库。

一切信息就绪点击OK 

然后观察左侧 IDEA 会自动刷新变化 在src 目录下 idea 自动生成了 META_INF 这个文件夹 如图:


此处生成的MANIFEST.MF 是非常有用的为文件,先买一个官司,待会再讲这个文件。

一切就绪开始生成 可执行文件!

BUILD---->BUILD Artifact ----> BUILD

如图:


在生成路径下寻找你生成的jar 包 如图:



然后用 java -jar 命令运行它 

返回结果如图:


恭喜你! 你已经可以成功运行 scala 可执行jar 文件了!!

但是可以以此方法运行 maven 的 jar 吗?

开始配置maven 工程 添加maven 依赖

点击项目 ----右键 --->Add FrameWorkSupport -->maven 勾选



选择完之后系统会自动生成POM.xml文件 如图:


注意:此处为了演示方便排除其他干扰所以 pom里面没有设置任何依赖,只是初始pom.xml

然后打开maven 视图 view-->Tool Windows-->Maven Projects 

如图:


此视图列举了 maven生命周期,以及各种插件,plugins下面的可以按照用户需求自行添加。

然后配置maven 本地依赖库 settings ---> 搜索maven



然后再次 执行上述步骤 打包 注意此处 再次打包需要删除 原来的 META -INF 文件夹&

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

intellij idea 打可运行scala jar 包的两种方式 的相关文章

随机推荐

  • Java mail发送相关问题

    一 邮件附件变成bin格式 Java 发送邮件时 邮件附件变成 bin后缀的文件 如下图 出现这个问题 博主查阅了其他博主的文章 大致是附件名称过长或附件名称携带中文 博主代码中采用的是中文加UUID的一个拼接 如下 生成随机的UUID S
  • 【AI实战】llama.cpp 量化部署 llama-33B

    AI实战 llama cpp 量化部署 llama 33B llama cpp 量化介绍 环境配置 安装 llama cpp 拉取 llama cpp 仓库代码 编译llama cpp 生成量化版本模型 模型准备 将上述 pth模型权重转换
  • 大神之路-起始篇

    欢迎关注 WeiyiGeek 公众号 点击 下方卡片 即可关注我哟 设为 星标 每天带你 基础入门 到 进阶实践 再到 放弃学习 涉及 网络安全运维 应用开发 物联网IOT 学习路径 个人感悟 等知识 花开堪折直须折 莫待无花空折枝 作者主
  • 静态路由和动态路由

    display ip routing table 查看全局路由表 路由表匹配规则 最长掩码匹配规则 路由器总是现在最精确 最优的路由项来进行数据转发 路由信息的来源 设备自动发现 直连路由 手动配置 静态路由 通过动态协议生成 动态路由 路
  • HTTP协议 (四) 缓存

    HTTP协议 四 缓存 之前写过一个篇 HTTP协议详解 这次继续介绍HTTP协议中的缓存机制 HTTP协议提供了非常强大的缓存机制 了解这些缓存机制 对提高网站的性能非常有帮助 本文介绍浏览器和Web服务器之间如何处理 浏览器缓存 以及控
  • 【软件开发】从单机到分布式

    从单机到分布式 1 单台服务器应用 问题 由于流量越来越大出现服务器性能问题 2 应用服务器和数据库服务器分离 对架构增加了一台服务器 应用和数据库分别部署到不同的服务器上 对于开发和测试没有任何影响 只需要应用服务器新增一个远程调用数据库
  • python读写文件函数_Python文件读写功能概述,python,函数,总结

    1 python读取csv文件 usr bin python coding UTF 8 df pd read csv filepath usecols func name para value df t df fillna value 对空
  • 文章上传漏洞绕过方式(以php语言为例)

    一 文件上传漏洞原因 由于网站要求 需要用户上传文件 图片 例如头像 保存简单文件上传下载 访问 如果我们将文件上传至web服务器上 并且可以访问到 那么就可以利用小马 对服务器进行操作 或者了解一些信息 因此在上传位置 代码会对上传文件进
  • 解决本地redis连接工具无法连接上宝塔面板的redis

    宝塔安装Redis步奏比较简单 这里我就不讲了 下面来开启一下外网访问 一 第一步需要放开对应安全组中Redis端口 具体端口放开可参考对应服务器厂商的说明文档 二 在宝塔中放行Redis端口 三 修改Redis配置文件将protected
  • 深度学习《图像卷积》

    骚话一下 今天是2020年10月1号 是祖国的71岁生日 也是传统节日中秋节 而我由于工作的安排身在海外不得回家 怀念祖国的乡土 倍加思念远方的亲人 由于疫情 在这里哪里也去不了 只能好好学习 用学习来充实这八天假期 本文完全是为了给CNN
  • 帮我写一个Python代码,利用tensorflow框架实现年龄预测

    import tensorflow as tf import numpy as np 创建模型 model tf keras Sequential model add tf keras layers Dense 128 activation
  • java动态代理中的invoke方法是如何被自动调用的

    一 动态代理与静态代理的区别 1 Proxy类的代码被固定下来 不会因为业务的逐渐庞大而庞大 2 可以实现AOP编程 这是静态代理无法实现的 3 解耦 如果用在web业务下 可以实现数据层和业务层的分离 4 动态代理的优势就是实现无侵入式的
  • centos安装nodejs

    下载地址 https nodejs org en download 本次安装选择的是Source Code 1 下载 wget https nodejs org dist v6 10 0 node v6 10 0 tar gz 当出现 错误
  • Error: Cannot find module ‘vue-loader-v16/package.json‘ 安装vue3.0的项目报错

    vue3 0已经更新在github上好久了 一直没有时间学习 今天好不容易想看一下 根据网上的教程 一步一步的安装 创建项目 启动的时候居然报错 一看这 怀疑是某个依赖没有装上 于是执行了一下 npm install 这次没有报错 但是报了
  • RK3568-GPIO控制

    RK3568 GPIO控制 1 Sysfs接口 实现逻辑 芯片的GPIO由芯片的GPIO控制器来管理 GPIO控制器封装在芯片内部 控制器的驱动芯片厂家已经写好了 RK3568有五组GPIO控制器 每组管理32个引脚 对应 dev下的gpi
  • SQLHelper通用类执行一条返回结果集的SqlCommand命令 使用方法

    SQLHelper cs 通用类 执行一条返回结果集的SqlCommand命令 通过专用的连接字符串 使用参数数组提供参数 使用示例 SqlDataReader r ExecuteReader connString CommandType
  • PCL只获取点云中一个点的法向量之computePointNormal

    PCL只获取点云中一个点的法向量computePointNormal 最近用点云图做应用的时候想只获取点云中一个点的法向量 然后就在网络上搜索 搜索了半天只能找到一些看似成功 实则语焉不详的文章 甚至是纯照搬 抄袭的文章 所以写下这篇文章供
  • 实体化视图

    Oracle 的实体化视图是包括一个查询结果的数据库对像 它是远程数据的本地副本 或者用来 生成基于数据表求和的汇总表 实体化视图存储基于远程表的数据 也可以称为快照 实体化视图可用于预先计算并保存表连接或聚集等耗时较多的操作的结果 这样
  • OLED透明屏曲面技术:创新突破引领显示行业未来

    OLED透明屏曲面技术作为一项重要的显示技术创新 正在成为显示行业的焦点 其引人注目的优势和广泛应用领域使其备受关注 本文将详细介绍OLED透明屏曲面技术的优势 应用领域以及市场前景 同时展望其未来的发展趋势 以期带给读者全面而深入的了解
  • intellij idea 打可运行scala jar 包的两种方式

    今天折腾了一天 研究 idea 打可运行scala 代码的 jar 包 有些心得记录下来 供大家参考 希望能帮助到一些同事 此前在网络上有一些关于打jar 包的资料 大都是一些转载 或者介绍的不是很详细 此篇是详细介绍打包过程以及思考推导方