当前位置: 首页 > news >正文

Ubuntu-手动安装 SBT

文章目录

  • 前言
    • Ubuntu-手动安装 SBT
      • 1. SBT是什么?
        • 1.1. SBT 的特点
        • 1.2. SBT 的基本功能
        • 1.3. SBT 的常用命令
      • 2. 安装
        • 2.1. 下载
        • 2.2. 解压 sbt 二进制包
        • 2.3. 确认 sbt 可执行文件的位置
        • 2.4. 设置执行权限
        • 2.5. 创建符号链接
        • 2.6. 更新 PATH 环境变量
        • 2.7. 验证 sbt 安装

前言

  如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。
  而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!


Ubuntu-手动安装 SBT

1. SBT是什么?

SBT(Scala Build Tool)是一个开源的构建工具,主要用于构建和管理 Scala 和 Java 项目。它是 Scala 语言的官方构建工具,功能类似于 Maven 和 Gradle,但它专为 Scala 设计,支持高度的灵活性和扩展性。

1.1. SBT 的特点
  1. 支持 Scala 和 Java:SBT 支持 Scala 和 Java 项目,能够帮助开发者轻松地编译、打包、测试和发布代码。
  2. 增量构建:SBT 支持增量构建,意味着它只会重新构建修改过的部分,从而提高构建效率。
  3. 交互式控制台:SBT 提供了一个交互式的命令行界面,开发者可以通过它快速执行构建任务、测试、运行项目等。
  4. 并行执行:SBT 支持并行执行任务,可以在多核处理器上加速构建过程。
  5. 插件扩展:SBT 提供了丰富的插件系统,可以扩展功能,比如支持发布到 Maven 仓库、与 Git 集成、生成文档等。
  6. Scala 构建配置:SBT 使用 Scala 语言本身来定义构建脚本(build.sbt),这让它的配置非常灵活和可编程。
1.2. SBT 的基本功能
  • 编译代码:自动编译 Scala 和 Java 源代码。
  • 运行程序:启动应用程序,支持热加载。
  • 依赖管理:支持 Maven 仓库,可以轻松地添加、管理和解决项目的依赖。
  • 测试支持:集成了测试框架(如 ScalaTest、JUnit),支持单元测试、集成测试等。
  • 构建发布:打包应用程序,并发布到远程仓库或本地文件系统。
1.3. SBT 的常用命令
  • sbt compile:编译项目。
  • sbt run:运行项目。
  • sbt test:运行测试。
  • sbt clean:清理项目生成的文件。
  • sbt package:打包项目,生成 JAR 文件。
  • sbt update:更新项目的依赖

2. 安装

2.1. 下载
curl -L -o sbt-1.5.5.tgz https://github.com/sbt/sbt/releases/download/v1.5.5/sbt-1.5.5.tgz

在这里插入图片描述

2.2. 解压 sbt 二进制包
tar -xvzf sbt-1.5.5.tgz

在这里插入图片描述

2.3. 确认 sbt 可执行文件的位置

进入到解压后的 sbt 目录,确认 sbt 可执行文件在 bin/ 文件夹内。

cd sbt/bin && ls
你应该能看到 sbt 可执行文件(sbt 或 sbt.bat)。如果文件存在,那么我们可以继续。

在这里插入图片描述

2.4. 设置执行权限
chmod +x bin/sbt

在这里插入图片描述

2.5. 创建符号链接

ln -s /app/yzy/sbt/bin/sbt /usr/local/bin/sbt
在这里插入图片描述
将 sbt 的可执行文件链接到 /usr/local/bin/ 目录,这样就可以在任何地方通过命令行运行 sbt 了

2.6. 更新 PATH 环境变量

确认 /usr/local/bin 目录在你的 PATH 环境变量中。运行以下命令来查看 PATH:

echo $PATH

在这里插入图片描述

如果 /usr/local/bin 没有在 PATH 中,使用以下命令将其添加:

echo "export PATH=\$PATH:/usr/local/bin" >> ~/.bashrc
source ~/.bashrc
2.7. 验证 sbt 安装
sbt --version

在这里插入图片描述

相关文章:

Ubuntu-手动安装 SBT

文章目录 前言Ubuntu-手动安装 SBT1. SBT是什么?1.1. SBT 的特点1.2. SBT 的基本功能1.3. SBT 的常用命令 2. 安装2.1. 下载2.2. 解压 sbt 二进制包2.3. 确认 sbt 可执行文件的位置2.4. 设置执行权限2.5. 创建符号链接2.6. 更新 PATH 环境变量2.7. 验证 sbt 安装 前言 如果您觉…...

人工智能:农业领域的变革力量

在当今科技飞速发展的时代,人工智能正以前所未有的态势渗透进各个领域,农业也不例外。想象一下,未来的农田里,农民不再是弯腰劳作的形象,而是坐在高科技的“智能农场”里,悠闲地喝着咖啡,指挥着…...

Qt——界面优化

一.QSS 1.背景 在网页前端开发领域中, CSS 是⼀个至关重要的部分。 描述了⼀个网页的 "样式"。 从而起到对网页美化的作用。 所谓样式,包括不限于大小,位置,颜色,背景,间距,字体等等…...

Qt Designer and Python: Build Your GUI

1.install pyside6 2.pyside6-designer.exe 发送到桌面快捷方式 在Python安装的所在 Scripts 文件夹下找到此文件。如C:\Program Files\Python312\Scripts 3. 打开pyside6-designer 设计UI 4.保存为simple.ui 文件,再转成py文件 用代码执行 pyside6-uic.exe simpl…...

HarmonyOS DevEco Studio模拟器点击运行没有反应的解决方法

HarmonyOS DevEco Studio模拟器点击运行没有反应的解决方法 翻遍了CSDN,试了所有办法都没办法,最后偶然间竟然解决了 解决方法其实很简单:本地模拟器下载路径下面不能有中文。。。。。 切换正确路径以后,成功运行,哦…...

java中的算数运算符

1.java中的加法是“”。 简单数字的相加对于byte.short.char.int类型数字相加时进行整形提升至int,对于数据类型大于int的long.float.double数据类型有参与计算时,需要进行整形提升至最高的数据类型。 有字符串类型的相加,将数字视为字符串进行字符串的…...

【数据结构】二叉树

二叉树 1. 树型结构(了解)1.1 概念1.2 概念(重要)1.3 树的表示形式(了解)1.4 树的应用 2. 二叉树(重点)2.1 概念2.2 两种特殊的二叉树2.3 二叉树的性质2.4 二叉树的存储2.5 二叉树的…...

websocket实现

由于安卓资源管理器展示的路径不尽相同,各种软件保存文件的位置也不一定一样.对于普通用户上传文件时,查找文件可能是一个麻烦的事情.后来想到了一个办法,使用pc端进行辅助上传. 文章目录 实现思路1.0 实现定义web与客户端通信数据类型和数据格式web端websocket实现web端对客户…...

AI软件外包需要注意什么 外包开发AI软件的关键因素是什么 如何选择AI外包开发语言

1. 定义目标与需求 首先,要明确你希望AI智能体做什么。是自动化任务、数据分析、自然语言处理,还是其他功能?明确目标可以帮助你选择合适的技术和方法。 2. 选择开发平台与工具 开发AI智能体的软件时,你需要选择适合的编程语言、…...

电梯系统的UML文档12

5.2.1 DoorControl 的状态图 图 19: DoorControl 的状态图 5.2.2 DriveControl 的状态图 图 20: DriveControl 的状态图 5.2.3 LanternControl 的状态图 图 21: LanternControl 的状态图 5.2.4 HallButtonControl 的状态图 图 22: HallButtonControl 的状态图 5.2.5 CarB…...

【华为路由的arp配置】

华为路由的arp配置 ARP:IP地址与MAC地址的映射。 R1: g0/0/0:10.1.1.254/24 g0/0/1:10.1.2.254/24 PC1: 10.1.1.1/16 PC2: 10.1.1.2/16 PC3: 10.1.2.3/16 动态ARP 查看PC1的arp表,可以看到,列表为空。 查看R1的arp表 在PC3上ping命令测…...

Web 代理、爬行器和爬虫

目录 Web 在线网页代理服务器的使用方法Web 在线网页代理服务器使用流程详解注意事项 Web 请求和响应中的代理方式Web 开发中的请求方法借助代理进行文件下载的示例 Web 服务器请求代理方式代理、网关和隧道的概念参考文献说明 爬虫的工作原理及案例网络爬虫概述爬虫工作原理 W…...

node 爬虫开发内存处理 zp_stoken 作为案例分析

声明: 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 前言 主要说3种我们补环境过后如果用…...

【Samba】Ubuntu20.04 Windows 共享文件夹

【Samba】Ubuntu20.04 Windows 共享文件夹 前言整体思路检查 Ubuntu 端 和 Windows 网络通信是否正常创建共享文件夹安装并配置 Samba 服务器安装 Samba 服务器创建 Samba 用户编辑 Samba 配置文件重启 Samba 服务器 在 Windows 端 访问 Ubuntu 的共享文件夹 前言 本文基于 Ub…...

windows下本地部署安装hadoop+scala+spark-【不需要虚拟机】

注意版本依赖【本实验版本如下】 Hadoop 3.1.1 spark 2.3.2 scala 2.11 1.依赖环境 1.1 java 安装java并配置环境变量【如果未安装搜索其他教程】 环境验证如下: C:\Users\wangning>java -version java version "1.8.0_261" Java(TM) SE Runti…...

GitHub 仓库的 Archived 功能详解:中英双语

GitHub 仓库的 Archived 功能详解 一、什么是 GitHub 仓库的 “Archived” 功能? 在 GitHub 上,“Archived” 是一个专门用于标记仓库状态的功能。当仓库被归档后,它变为只读模式,所有的功能如提交代码、创建 issue 和 pull req…...

银行卡三要素验证接口:方便快捷地实现银行卡核验功能

银行卡三要素验证API:防止欺诈交易的有力武器 随着互联网的发展,电子支付方式也越来越普及。在支付过程中,银行卡是最常用的支付工具之一。然而,在一些支付场景中,需要对用户的银行卡信息进行验证,以确保支…...

Banana JS,一个严格子集 JavaScript 的解释器

项目地址:https://github.com/shajunxing/banana-js 特色 我的目标是剔除我在实践中总结的JavaScript语言的没用的和模棱两可的部分,只保留我喜欢和需要的,创建一个最小的语法解释器。只支持 JSON 兼容的数据类型和函数,函数是第…...

引领未来科技潮流:Web3 前沿发展趋势

随着技术不断发展,我们正站在一个全新的互联网时代的门槛上,Web3的出现正在重新定义互联网的构架和运作方式。Web3,作为互联网的下一代发展趋势,其核心思想是去中心化、开放与用户主权。与现有的Web2.0相比,Web3更加注…...

OpenCV:在图像中添加高斯噪声、胡椒噪声

目录 在图像中添加高斯噪声 高斯噪声的特性 添加高斯噪声的实现 给图像添加胡椒噪声 实现胡椒噪声的步骤 相关阅读 OpenCV:图像处理中的低通滤波-CSDN博客 OpenCV:高通滤波之索贝尔、沙尔和拉普拉斯-CSDN博客 OpenCV:图像滤波、卷积与…...

在深度Linux (Deepin) 20中安装Nvidia驱动

文章创作不易,麻烦大家点赞关注收藏一键三连。 在Deepin上面跑Tensorflow, pytorch等人工智能框架不是一件容易的事情。特别是如果你要使用GPU,就得有nvidia的驱动。默认情况下Deepin系统自带的是nouveau开源驱动。这是没办法用tensorflow的。下面内容是…...

PC端实现PDF预览(支持后端返回文件流 || 返回文件URL)

一、使用插件 插件名称:vue-office/pdf 版本:2.0.2 安装插件:npm i vue-office/pdf^2.0.2 1、“vue-office/pdf”: “^2.0.2”, 2、 npm i vue-office/pdf^2.0.2 二、代码实现 // 引入组件 (在需要使用的页面中直接引入&#x…...

【ESP32】ESP-IDF开发 | WiFi开发 | UDP用户数据报协议 + UDP客户端和服务器例程

1. 简介 UDP协议(User Datagram Protocol),全称用户数据报协议,它是一种面向非连接的协议,面向非连接指的是在正式通信前不必与对方先建立连接, 不管对方状态就直接发送。至于对方是否可以接收到这些数据内…...

OpenAI的真正对手?DeepSeek-R1如何用强化学习重构LLM能力边界——DeepSeek-R1论文精读

2025年1月20日,DeepSeek-R1 发布,并同步开源模型权重。截至目前,DeepSeek 发布的 iOS 应用甚至超越了 ChatGPT 的官方应用,直接登顶 AppStore。 DeepSeek-R1 一经发布,各种资讯已经铺天盖地,那就让我们一起…...

es数据同步

Logstash 是 Elastic 技术栈中的一个技术,它是一个数据采集引擎,可以从数据库采集数据到 ES 中。可以通过设置 自增 ID 主键 或 更新时间 来控制数据的自动同步: 自增 ID 主键:Logstatsh 会有定时任务,如果发现有主键…...

【JavaScript笔记】01- 原型及原型链(面试高频内容)

前言 JavaScript作为前端入门三件套之一,也是前端求职的必会知识,重要性不言而喻。 这个系列分享个人学习JavaScript的记录,和大家一起学习讨论。 下面介绍关于原型&原型链的相关重要知识点。 1、构造函数创建对象 function Student(…...

【Python】第五弹---深入理解函数:从基础到进阶的全面解析

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】【MySQL】【Python】 目录 1、函数 1.1、函数是什么 1.2、语法格式 1.3、函数参数 1.4、函数返回值 1.5、变量作用域 1.6、函数…...

动态规划DP 数字三角形模型(模型分析+例题分析+C++代码实现)(数字三角形、摘花生、最低通行费用、方格取数、传纸条)

总体概览 数字三角形 原题链接 AcWing 898.数字三角形 题目描述 给定一个如下图所示的数字三角形,从顶部出发,在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点,一直走到底层,要求找出一条路径,使路…...

2025 最新flutter面试总结

目录 1.Dart是值传递还是引用传递? 2.Flutter 是单引擎还是双引擎 3. StatelessWidget 和 StatefulWidget 在 Flutter 中有什么区别? 4.简述Dart语音特性 5. Navigator 是什么?在 Flutter 中 Routes 是什么? 6、Dart 是不是…...

Java后端之AOP

AOP&#xff1a;面向切面编程&#xff0c;本质是面向特定方法编程 引入依赖&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency>示例&#xff1a;记录…...

JS中对数组的操作哪些会改变原数组哪些不会?今天你一定要记下!

JavaScript 数组方法&#xff1a;变更原数组与不变更原数组的区别 在 JavaScript 中&#xff0c;数组是非常常见且重要的数据结构。作为开发者&#xff0c;我们常常需要使用数组方法来处理数组数据。但是&#xff0c;数组的不同方法会以不同的方式影响原数组&#xff0c;它们可…...

ubuntu x64下交叉编译ffmpeg到目标架构为aarch架构的系统

参考链接 https://blog.csdn.net/qq_46396470/article/details/137794498...

Java进阶(二):Java设计模式

目录 设计模式 一.建模语言 二.类之间的关系 1.依赖关系 2.关联关系 3.聚合关系 4.组合关系 5.继承关系 6.实现关系 三.面向对象设计原则 单一职责原则 开闭原则 里氏替换原则 依赖倒置 接口隔离原则 迪米特原则 组合/聚合(关联关系)复用原则 四.23种设计模式…...

python学opencv|读取图像(四十二)使用cv2.add()函数实现多图像叠加

【1】引言 前序学习过程中&#xff0c;掌握了灰度图像和彩色图像的掩模操作&#xff1a; python学opencv|读取图像&#xff08;九&#xff09;用numpy创建黑白相间灰度图_numpy生成全黑图片-CSDN博客 python学opencv|读取图像&#xff08;四十&#xff09;掩模&#xff1a;三…...

DIY QMK量子键盘

最近放假了&#xff0c;趁这个空余在做一个分支项目&#xff0c;一款机械键盘&#xff0c;量子键盘取自固件名称QMK&#xff08;Quantum Mechanical Keyboard&#xff09;。 键盘作为计算机或其他电子设备的重要输入设备之一&#xff0c;通过将按键的物理动作转换为数字信号&am…...

【公式】卢布贬值风险:义乌到俄罗斯贸易的汇率陷阱

卢布贬值风险&#xff1a;义乌到俄罗斯贸易的汇率陷阱 具体实例与推演 假设一位中国义乌的商人&#xff0c;计划出口一批价值100万人民币的商品到俄罗斯。最初的汇率是1人民币兑换100卢布。 初始状态&#xff1a; 商品价值&#xff1a;100万人民币初始汇率&#xff1a;1人民币…...

1月27(信息差)

&#x1f30d;喜大普奔&#xff0c;适用于 VS Code 的 GitHub Copilot 全新免费版本正式推出&#xff0c;GitHub 全球开发者突破1.5亿 &#x1f384;Kimi深夜炸场&#xff1a;满血版多模态o1级推理模型&#xff01;OpenAI外全球首次&#xff01;Jim Fan&#xff1a;同天两款国…...

Linux常见问题解决方法--1

常见安全工具、设备 工具 端口及漏洞扫描&#xff1a;Namp、Masscan 抓包&#xff1a;Wireshark&#xff0c;Burpsuite、Fiddler、HttpCanary Web自动化安全扫描&#xff1a;Nessus、Awvs、Appscan、Xray 信息收集&#xff1a;Oneforall、hole 漏洞利用&#xff1a;MSF、…...

Python 数据清洗与处理常用方法全解析

在数据处理与分析过程中&#xff0c;缺失值、重复值、异常值等问题是常见的挑战。本文总结了多种数据清洗与处理方法&#xff1a;缺失值处理包括删除缺失值、固定值填充、前后向填充以及删除缺失率高的列&#xff1b;重复值处理通过删除或标记重复项解决数据冗余问题&#xff1…...

《企业应用架构模式》笔记

领域逻辑 表模块和数据集一起工作-> 先查询出一个记录集&#xff0c;再根据数据集生成一个&#xff08;如合同&#xff09;对象&#xff0c;然后调用合同对象的方法。 这看起来很想service查询出一个对象&#xff0c;但调用的是对象的方法&#xff0c;这看起来像是充血模型…...

顶刊JFR|ROLO-SLAM:首个针对不平坦路面的车载Lidar SLAM系统

摘要 基于激光雷达&#xff08;LiDAR&#xff09;的同步定位与地图构建&#xff08;SLAM&#xff09;被认为是在恶劣环境中提供定位指导的一种有效方法。然而&#xff0c;现成的基于激光雷达的SLAM方法在经过不平坦地形时&#xff0c;尤其是在垂直方向相关的部分&#xff0c;会…...

第05章 09 使用Lookup绘制地形数据高程着色图

在VTK&#xff08;Visualization Toolkit&#xff09;中&#xff0c;可以使用颜色查找表&#xff08;Lookup Table&#xff0c;简称LUT&#xff09;来根据高程数据对地形进行着色。以下是一个示例代码&#xff0c;展示了如何使用VTK和C来读取地形数据&#xff0c;并使用颜色查找…...

【深度学习入门_机器学习理论】K近邻法(KNN)

本部分主要为机器学习理论入门_K近邻法(KNN)&#xff0c;书籍参考 “ 统计学习方法&#xff08;第二版&#xff09;”。 学习目标&#xff1a; 了解k近邻算法的基本概念、原理、应用&#xff1b;熟悉k近邻算法重要影响要素&#xff1b;熟悉kd树原理与优化应用。 开始本算法之…...

基于Django的Boss直聘IT岗位可视化分析系统的设计与实现

【Django】基于Django的Boss直聘IT岗位可视化分析系统的设计与实现&#xff08;完整系统源码开发笔记详细部署教程&#xff09;✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 该系统采用Python作为主要开发语言&#xff0c;利用Django这一高效、安全的W…...

编程语言中的常见Bug及解决方案

在编程过程中&#xff0c;不同语言有其独特的特性和挑战&#xff0c;这也导致了各种常见Bug的出现。本文将总结几种主流编程语言中的常见Bug&#xff0c;包括JavaScript、Python、C/C、Java和Go&#xff0c;并提供相应的解决方案和案例。 一、JavaScript中小数相加精度不准确的…...

DeepSeek API 的获取与对话示例

代码文件下载&#xff1a;Code 在线链接&#xff1a;Kaggle | Colab 文章目录 注册并获取API环境依赖设置 API单轮对话多轮对话流式输出更换模型 注册并获取API 访问 https://platform.deepseek.com/sign_in 进行注册并登录&#xff1a; 新用户注册后将赠送 10 块钱余额&#…...

数据库SQLite和SCADA DIAView应用教程

课程简介 此系列课程大纲主要包含七个课时。主要使用到的开发工具有&#xff1a;SQLite studio 和 SCADA DIAView。详细的可成内容大概如下&#xff1a; 1、SQLite 可视化管理工具SQLite Studio &#xff1a;打开数据库和查询数据&#xff1b;查看视频 2、创建6个变量&#x…...

Elasticsearch+kibana安装(简单易上手)

下载ES( Download Elasticsearch | Elastic ) 将ES安装包解压缩 解压后目录如下: 修改ES服务端口&#xff08;可以不修改&#xff09; 启动ES 记住这些内容 验证ES是否启动成功 下载kibana( Download Kibana Free | Get Started Now | Elastic ) 解压后的kibana目…...

(CICD)自动化构建打包、部署(Jenkins + maven+ gitlab+tomcat)

一、平滑发布与灰度发布 **什么叫平滑&#xff1a;**在发布的过程中不影响用户的使用&#xff0c;系统不会因发布而暂停对外服务&#xff0c;不会造成用户短暂性无法访问&#xff1b; **什么叫灰度&#xff1a;**发布后让部分用户使用新版本&#xff0c;其它用户使用旧版本&am…...

Android源码阅读笔记(二)—— 启动模式

Android源码阅读笔记&#xff08;二&#xff09;—— 启动模式初章 1、为什么学习启动模式 Activity的启动模式其实是一个在面试中经常会被关注的问题&#xff0c;那么它的重要性体现在哪里&#xff1f; A&#xff1a;在多数的开发场景中&#xff0c;我们似乎也没有怎么关注过…...