Maven 坚持认为 JAVA_HOME 未正确定义,除非我将其作为 sudo 运行

2024-01-01

Ubuntu 22.04.1,从 20.04.5 最新更新。

当我尝试用 Maven 构建任何东西时,它会抱怨:

$ mvn -v
The JAVA_HOME environment variable is not defined correctly
This environment variable is needed to run this program
NB: JAVA_HOME should point to a JDK not a JRE

不过,我可以使用 sudo 获得结果:

$ sudo mvn -v
Apache Maven 3.6.3
Maven home: /usr/share/maven
Java version: 17.0.4, vendor: Private Build, runtime: /usr/lib/jvm/java-17-openjdk-amd64
Default locale: en_GB, platform encoding: UTF-8
OS name: "linux", version: "5.15.0-48-generic", arch: "amd64", family: "unix"

上周在更新到 Ubuntu 22.04 之前我可以构建得很好;然而,当尝试构建一个新项目时,我的老板说我需要使用 sudo 来构建它,所以我这么做了。由于 Java 版本的原因,失败了(Maven 坚持尝试使用 Java 8),无论我做什么,它都不会更改为使用 17。直到我完全删除 Java 8,此时我开始得到JAVA_HOME is not defined correctly issue.

我尝试卸载所有 Java 版本以及 Maven 并重新安装。 我的 PATH 和 JAVA_HOME 变量似乎确实返回正确:

$ echo $JAVA_HOME
/usr/lib/jvm/java-17-openjdk-amd64
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin:/home/naf/.local/share/JetBrains/Toolbox/scripts:/usr/lib/jvm/java-17-openjdk-amd64/bin

我不想通过构建 sudo 来搞乱项目,但我不知道该去哪里。


JAVA_HOME 可能是在您自己的配置文件中设置的,然后由 maven 进行测试和不喜欢。

当切换到 root 时,它就会消失,因此 maven 不会进行测试,而是可以继续在路径中查找 java。

进行试运行

unset JAVA_HOME; mvn … 

as you.

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

Maven 坚持认为 JAVA_HOME 未正确定义,除非我将其作为 sudo 运行 的相关文章

  • Android 中的 java.util.Observable 是线程安全的吗?

    Android 中的 java util Observable 是线程安全的吗 这文档 http developer android com reference java util Observable html说只有deleteObser
  • 如何抑制 Cucumber/Junit 断言堆栈跟踪

    我有一个黄瓜场景 该步骤使用assertEquals 我的结果报告显示了对最终用户不友好的堆栈跟踪 我怎样才能抑制它 Scenario Add two numbers Given I have two inputs 3 and 2 When
  • Java - 红、绿、蓝获取RGB

    通过致电getRGB int x int y with a BufferedImage对象 得到一个负数 如何将三个不同的值 红色 绿色和蓝色 转换为这个单个负数 使用颜色类 new Color r g b getRGB
  • APNS(Apple 推送通知服务器)的反馈服务

    我们正在使用Java作为推送通知提供商APNS I我能够将消息发送到APNS但我不知道如何获得该消息的反馈 请帮忙 反馈服务具有类似于用于发送推送通知的接口的二进制接口 您可以通过以下方式访问生产反馈服务feedback push appl
  • 想要从java中的char数组创建字符流

    我想从 char 数组构造一个流以使用 java 8 功能 例如过滤器和映射 char list a c e Stream
  • AWS SDK 2 承担角色

    Bean public DynamoDbClient amazonDynamoDB final AssumeRoleRequest assumeRoleRequest AssumeRoleRequest builder roleSessio
  • 限制 JPQL 中的结果数量

    如何限制从数据库检索结果的数量 select e from Entity e I need only 10 results for instance 您可以尝试像这样给出 10 个要显式获取的结果 entityManager createQ
  • 如何修复maven错误JAVA_HOME环境变量未正确定义

    当我在虚拟环境中检查maven的版本时 出现以下错误 The JAVA HOME environment variable is not defined correctly This environment variable is need
  • 开发人员实际上是否使用 vim 在 Windows 操作系统上编写代码(Java)? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 结构差异 sudo() run('sudo 命令')

    我想知道函数之间有什么区别sudo 和函数run sudo u user smth 文档上有 sudo 在所有运行方式上都是相同的 除了它总是换行 调用 sudo 程序中的给定命令以提供超级用户 特权 但有几次 sudo cmd 提示我输入
  • 如何构建和使用 TimeSeriesCollections

    我想在图表的 X 轴上显示一些日期 并且here https stackoverflow com questions 5118684 jfreechart histogram with dates据说我必须使用 TimeSeriesColl
  • Hazelcast:连接到远程集群

    我们有一组 Hazelcast 节点 全部运行在一个远程系统 具有许多节点的单个物理系统 上 我们希望从外部客户端连接到该集群 一个 Java 应用程序 它使用如下代码连接到 Hazelcast ClientConfig clientCon
  • 如何将测试类打包到jar中而不运行它们?

    我正在努力将我的测试类包含到 jar 包中 但不运行它们 经过一番谷歌搜索后 我尝试过mvn package DskipTests 但我的测试类根本没有添加到 jar 中 有任何想法吗 如果您遵循 Maven 约定 那么您的测试类位于src
  • 如何从 Trie 中检索给定长度的随机单词

    我有一个简单的 Trie 用来存储大约 80k 长度为 2 15 的单词 它非常适合检查字符串是否是单词 但是 现在我需要一种获取给定长度的随机单词的方法 换句话说 我需要 getRandomWord 5 来返回 5 个字母的单词 所有 5
  • Java 常量枚举[重复]

    这个问题在这里已经有答案了 可能的重复 理解 Java 中的枚举 https stackoverflow com questions 1419835 understanding enums in java 为什么我们应该使用枚举而不是 Ja
  • 从特定 JAR 文件读取资源(文件的重复路径)

    假设您有 jar1 和artifactId 动物园 jar2 和artifactId 动物 两个 jar 都有一个具有相同路径的资源文件 例如 animals animal txt 有什么方法可以从特定的 jar 中读取该文件吗 使用 ge
  • Java给定长度的随机数

    我需要在 Java 中生成一个恰好 6 位数字的随机数 我知道我可以在随机发生器上循环 6 次 但是在标准 Java SE 中还有其他方法可以做到这一点吗 要生成 6 位数字 Use Random http download oracle
  • 测量 tomcat 的排队请求数

    因此 使用tomcat 您可以设置acceptCount值 默认为100 这意味着当所有工作线程都忙时 新连接被放置在队列中 直到队列满 之后它们被拒绝 我想要的是监视此队列中项目的大小 但无法确定是否有办法通过 JMX 获取此值 即不是队
  • 设置 Firefox 配置文件以使用 Selenium 和 Java 自动下载文件

    我想使用 Selenium WebDriver 和 Java 验证文件下载 要下载的文件为 PDF 格式 当 WebDriver 单击 AUT 中的 下载 链接时 Firefox 将打开以下下载确认窗口 我希望 Firefox 自动下载文件
  • 乔达时间中两个日期之间的天数

    如何找到两次之间的天数差异乔达时间 http www joda org joda time DateTime http www joda org joda time apidocs org joda time DateTime html实例

随机推荐

  • 通过使用网格视图中的图像按钮在代码隐藏中调用函数

    我有一个ImageButton在一个GridView在 aspx 上clicking this ImageButton我必须调用一个函数 这就是我尝试的方法 但该函数没有被调用 aspx页面内的代码
  • 使用自动布局检索子视图的正确位置

    我想以编程方式将视图放置在故事板中创建的所有子视图的中心 在故事板中 我有一个视图 在一个垂直 StackView 内部 它具有填充全屏的约束 分布 等间距 在垂直堆栈视图内部 我有 3 个水平堆栈视图 约束高度 100 超级视图的尾随和前
  • VS2008:项目现在需要很长时间才能打开

    昨天下午 Visual Studio 2008 突然开始需要很长时间才能打开 ASP NET Web 窗体 项目 几个月后没有出现任何问题 这个问题似乎是在我尝试将 CrystalDecisions Enterprise dll 和 Cry
  • 在 R Shiny 中使用并行 foreach 制作进度条

    我正在尝试添加一个进度条ocr data 在 for 循环中 但是当串联使用时 该过程非常慢 我正在尝试利用并行来加快生成表的过程ocr data x 代码粘贴在这里 ui lt fluidPage Application title ti
  • 如何在Android上的文本视图中对长文本进行文本换行

    在我的应用程序中 我有包含长文本的文本视图 我需要像 android 模拟器 gt 联系人 gt 电话 屏幕上没有联系人拨号盘 那样的文本换行 but in my application i get text wrapping as fol
  • HTML5 画布中的碰撞检测。也优化了

    我正在制作一个平台游戏 但我的碰撞检测有问题 我创建了一个在屏幕 地图上绘制图块的函数 在该函数中是我的碰撞检测 当仅绘制一个图块时它工作正常 但是当我用三个图块创建 楼梯 时 第一个图块无法正常工作 玩家只是被 推 到图块上 侧面检测不起
  • iTunes Store 操作失败。您必须为此请求提供 CFBundleIdentifier

    我刚刚注册了这个地方 我已经制作了应用程序 一切正常 应用程序所有证书和文件都已更新 但是当我尝试从 Xcode 上传到应用程序商店时 我不断收到此错误 如果有人能帮我解决它 那就太好了 谢谢 iTunes Store 操作失败 您必须为此
  • 如何解除 Xcode 5 项目的工作副本与已失效的 SVN 服务器的关联

    我有一个 Xcode 5 项目的修改工作副本 该副本是从不再可用的远程 svn 服务器签出的 如何删除工作副本的 svn 关联并使其不受源代码控制 最终我想基于工作副本创建一个 git 存储库并将修改推送到它 我不需要保留 svn 历史记录
  • 读取文件时Python enumerate() tqdm 进度条?

    当我使用此代码迭代打开的文件时 我看不到 tqdm 进度条 with open file path r as f for i line in enumerate tqdm f if i gt start and i lt end print
  • 如何以 AMD 方式集成 Foundation 3

    EDIT 4 有一个模块定义在 来 自Foundation 3包裹 app js function window undefined use strict var doc document Modernizr window Moderniz
  • 在 Rails 上实现类似 Twitter 的主题标签

    我想在我的应用程序上实现类似 Twitter 的主题标签 假设我有用户输入到文本区域 我从 paris 来到 london 然后我想构建主题标签的标签云 我正在考虑使用 acts as ttagable on 因此 我从后端的文本中找到所有
  • 无法点击带有 ajax 加载的按钮

    我正在将内容加载到 result div 中 在该内容中 有一个按钮 使用ajax加载内容后 我无法单击该按钮 我没有收到警报 页面看不到
  • 为docker容器分配IP地址?

    我是 Docker 新手 是否可以将 IP 地址 从 DHCP 服务器 分配给在主机或虚拟机上运行的 Docker 容器 如果是 有人可以指出我正确的方向吗 如果不是 这是否是容器方法的基本限制 或者只是 Docker 中尚未提供的功能 D
  • 在 Java 中重构代码,替代大型 if 语句

    我正在重构我正在处理的项目中的一些代码 并且遇到了一个遵循以下格式的大型 if else if 语句 if changer instanceof AppleChanger panel new ApplePanel else if chang
  • Android 小部件 ImageButton 在屏幕旋转时丢失图像

    我的主屏幕上有一个小部件 其中有几个具有默认背景图像的图像按钮 通过配置活动 我可以更改任何 ImageButton 上的图像 问题是 当屏幕旋转时 ImageButton 上的图像消失并变回默认图像 我不知道为什么会发生这种情况或如何解决
  • 没有域名的 SSL 证书

    我有一堆 node js 应用程序通过 websockets ws 向 apache 站点提供信息 网站本身没有域名并通过其 IP 地址进行访问 不幸的是 这是不可协商的 问题如下 如果没有安全连接 浏览器将阻止 ws 交通量 所以我必须使
  • 使用mapDispatchToProps时Promise不返回

    最近 我从使用一种乐观操作转变为添加另外两种乐观操作来检测成功 失败服务器响应 通过乐观的方法 我能够通过速记方式和承诺的链条传递我的行动 class Post extends Component onUpdateClick props t
  • 弹出子导航视图时透明TabBar iOS 15

    我有一个带有 TabBar 的 SwiftUI 应用程序 如果我从 NavigationView 打开详细信息子视图 然后单击 后退 TabBar 将变为透明 显示 TabBar 图标下方的 Feed 中的项目 从主屏幕中 打开子导航详细信
  • CR 错误 无法打印组部分,因为其条件字段不存在或无效

    我继承了 CR 报告 运行时出现错误 无法打印组部分 因为其条件字段不存在或无效 格式化该部分以选择另一个条件字段 有没有办法让我知道它指的是哪个领域 关于我什么时候应该开始寻找问题的任何指示 我已经验证了 DB 它指向正确并且 Sp 返回
  • Maven 坚持认为 JAVA_HOME 未正确定义,除非我将其作为 sudo 运行

    Ubuntu 22 04 1 从 20 04 5 最新更新 当我尝试用 Maven 构建任何东西时 它会抱怨 mvn v The JAVA HOME environment variable is not defined correctly