linux运行ant 报错 Unable to locate tools.jar【已解决】

linux安装 ant 运行时报错 Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.402.b06-1.el7_9.x86_64/lib/tools.jar
在这里插入图片描述

原因

已安装的jdk只有运行环境,没有tool.jar,而ant运行需要java开发环境,因此需卸载已有jdk,安装有开发环境的jdk

一、查看已安装的java版本
rpm -qa | grep -i java

在这里插入图片描述

二、删除jdk
rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps
#rpm -qa:查询所安装的所有rpm包
#grep -i:忽略大小写
#xargs -n1:表示每次只传递一个参数
#rpm -e --nodeps:强制卸载软件

看是否还存在

java -version

如果还存在,进入jdk安装目录 删除
查看安装目录

which java

在这里插入图片描述

删除安装目录

rm -rf /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.402.b06-1.el7_9.x86_64/bin/java
三、安装开发版本的jdk

安装开发环境的jdk,比如 选择这个包 java-1.8.0-openjdk-devel.x86_64 安装
devel表明这个jdk有开发环境
使用yum安装

yum -y install java-1.8.0-openjdk-devel.x86_64
四、更新java环境变量
vim /etc/source

在这里插入图片描述

使环境变量生效

source /etc/profile
测试
java -version

在这里插入图片描述
java环境变量已生效

运行ant

ant

在这里插入图片描述
不再报错 Unable to locate tools.jarr (我这里报错原因是执行文件build.xml 没弄好)


有用的话 点个赞哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/824938.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

蓝桥杯算法题:小数第n位

问题描述 我们知道,整数做除法时,有时得到有限小数,有时得到无限循环小数。   如果我们把有限小数的末尾加上无限多个0,它们就有了统一的形式。 本题的任务是:在上面的约定下,求整数除法小数点后的第n位开…

第47篇:简易处理器<一>

Q:本期我们开始介绍一种数字系统----简易处理器,可以执行由指令指定的各种操作。 A:简易处理器包含多个9位寄存器、一个数据选择器、一个加/减法器单元和一个控制单元(有限状态机)。 数据选择器:可以将输入数据加载到各种寄存器&…

计算机网络-IS-IS基础概念二

前面已经学习了IS-IS的定义、组成、NET地址标识以及路由器级别分类等,今天继续学习IS-IS基础概念知识。 参考链接:IS-IS路由协议基础概念 一、IS-IS支持的网络类型 IS-IS会自动根据接口的数据链路层封装决定该接口的缺省网络类型, IS-IS支持两…

锋从东方来——张小泉厨刀的文化印记

在众多厨房用品中,刀具占据着无可替代的地位。作为中国历史悠久的刀具品牌,张小泉以其精湛的制刀技术和独到的设计理念,成为了国内外烹饪领域的宠儿。自明朝以来,这一品牌不断演变,今天我们探索的不仅是一把厨刀的故事…

了解 PostCSS:一个强大的 CSS 处理工具

在前端开发领域,CSS 是设计和构建网页样式的基础。然而,随着项目复杂性的增加,常规的 CSS 开发工作可能变得繁琐且难以维护。PostCSS 是一个强大的工具,旨在解决这些挑战,并提供了一种灵活的方式来处理 CSS。在本文中&…

Linux下SPI驱动:SPI设备驱动简介

一. 简介 Linux下的SPI 驱动框架和 I2C 很类似,都分为主机控制器驱动和设备驱动,主机控制器也就是 SOC的 SPI 控制器接口,SPI设备驱动也就是所操作的SPI设备的驱动。 本文来学习一下Linux下SPI设备驱动。 二. Linux下SPI驱动:SP…

桐乡——PS中的三个功能键 你知道吗

PS中的三个功能键(2) CTRL功能键位于键盘的左下角,其使用频率在PS中最高。 CTRL按钮具有强制和控制功能。我们经常在一些常规操作中使用它。例如,当您需要选择一个图层时,请按住CTRL键,然后单击要选择的图层…

物联网智能互联创新开发平台

物联网智能互联创新开发平台在职业教育方面的发展前景广阔且充满潜力。随着物联网技术的不断发展和应用领域的扩大,对物联网专业人才的需求也在日益增长。因此,物联网智能互联创新开发平台在职业教育领域的应用将具有重要意义。 一、发展前景 1) 为职业…

Biome 1.7 发布,支持从 ESLint 和 Prettier 迁移

近日,Biome v1.7 正式发布!这个新版本提供了从 ESLint 和 Prettier 迁移的简单路径。它还引入了格式化程序和 linter 的实验性机器可读报告、新的 linter 规则和许多修复。 使用以下命令更新 Biome: npm install --save-dev --save-exact b…

Mysql的用户创建、授权(只读)等用户权限体系

MySQL的用户创建、授权以及权限管理体系是其核心功能之一。 1.用户创建 可以使用CREATE USER语句来创建一个新用户。例如,要创建一个名为newuser,密码为password的用户,你可以执行以下命令: CREATE USER newuserlocalhost ID…

larael-admin汉化配置中文

larael-admin汉化配置中文 初始化的laravel-admin框架,界面默认是英文,上干货,配置中文的步骤。 一、执行 composer require "overtrue/laravel-lang:~3.0"; 二、将项目文件 config/app.php中的 Illuminate\Transla…

一篇文章带你快速认识区块链(必看)

引言 区块链技术,这一划时代的分布式账本技术,正在全球范围内掀起一场深度的信任与协作模式变革。区块链如同一部由多方共同维护的公开而又安全的大账本,每一笔交易都被打包成一个区块,通过高级密码学手段确保传输和访问安全&…

Qt——xml文件生成DBus接口

1. 如何根据xml文件生成Dbus接口 要使用 XML 文件生成 D-Bus 接口&#xff0c;你可以按照以下步骤操作&#xff1a; 步骤 1: 准备 XML 文件 确保你的 XML 文件遵循 D-Bus 的接口描述规范。这通常包括定义接口、方法、信号和属性。一个基本的例子如下&#xff1a; <!DOCTYPE…

Axure如何实现限制选择项数量的交互

大家经常会看到这样的功能设计&#xff1a;可以多选&#xff0c;但是限制多选。比如某招聘网站城市的选择只能选择5个。再选择第6个的时候会提示最多只能选择5项。 这个效果是我们经常会遇到的&#xff0c;在工作中也经常会遇到需要制作这样的效果。今天我们一起来看看&#xf…

RabbitMQ-交换机

文章目录 交换机fanoutDirecttopicHeadersRPC 交换机 **交换机 **是消息队列中的一个组件&#xff0c;其作用类似于网络路由器。它负责将我们发送的消息转发到相应的目标&#xff0c;就像快递站将快递发送到对应的站点&#xff0c;或者网络路由器将网络请求转发到相应的服务器…

从二本调剂到上海互联网公司算法工程师:我的成长故事

探讨选择成为一名程序员的原因&#xff0c;是出于兴趣还是职业发展&#xff1f; 在这个科技飞速发展的时代&#xff0c;程序员这一职业无疑成为了许多人眼中的香饽饽。那么&#xff0c;是什么驱使着越来越多的人选择投身于这一行业呢&#xff1f;是出于对编程的热爱&#xff0…

SFusion论文速读

SFusion: Self-attention Based N-to-One Multimodal Fusion Block 摘要 人们用不同的感官感知世界&#xff0c;例如视觉、听觉、嗅觉和触觉。处理和融合来自多种模式的信息使人工智能能够更轻松地理解我们周围的世界。然而&#xff0c;当缺少模态时&#xff0c;可用模态的数…

使用Canal同步MySQL 8到ES中小白配置教程

&#x1f680; 使用Canal同步MySQL 8到ES中小白配置教程 &#x1f680; 文章目录 &#x1f680; 使用Canal同步MySQL 8到ES中小白配置教程 &#x1f680;**摘要****引言****正文**&#x1f4d8; 第1章&#xff1a;初识Canal1.1 Canal概述1.2 工作原理解析 &#x1f4d8; 第2章&…

Python学习之旅中级篇总结:综合应用与展望

在Python中级篇的学习旅程中&#xff0c;我们已经探索了数据结构、网络编程、并发处理、数据库交互等多个关键领域。这些知识为我们构建复杂和高效的Python应用程序奠定了坚实的基础。在本文中&#xff0c;我们将回顾这些主题&#xff0c;并提供一个综合应用的例子。最后&#…

Python多态

1.多态 多态定义&#xff1a;多态&#xff08;polymorphism&#xff09;是指同一个方法调用由于对象不同可能会产生不同的行为 注意以下2点&#xff1a; 1.多态是方法的多态&#xff0c;属性没有多态。 2.多态的存在有2个必要条件&#xff1a;继承、方法重写 class Animal:de…