Mac OS X 上的 Java 运行时在 PATH 中找不到程序

2023-12-13

我在用ImageMagick在 Mac OS X (10.7) 上。我在以下帮助下安装了它MacPorts.

当我现在进入终端并写入:

identify image.jpg

它工作得很好。

但现在在 Java 中执行它时,会抛出以下异常:

org.im4java.core.CommandException: java.io.FileNotFoundException: identify

我可以看到它在PATH通过运行:

which identify

与回应:

/opt/local/bin/identify

现在运行时:

echo $PATH

我得到回应:

/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

相同的代码在 Windows 上完美运行ImageMagick也已安装。

那么为什么 im4java 找不到identify in the PATH at all?


就像描述的那样这里适用于 OS X 10.8 and 这里适用于 OS X 10.7唯一完整的解决方案是设置您的PATH in /etc/launchd.conf.

默认情况下PATH对于应用程序设置为/usr/bin:/bin:/usr/sbin:/sbin,即使你这样做not have a /etc/launchd.conf at all.

因此,您必须在终端中执行以下操作:

sudo vi /etc/launchd.conf

并添加以下行或修改它(如果已存在):

setenv PATH /opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin

重要的:现在轮到你need重新启动你的Mac!

您可以重现您的PATH在您的 Java 应用程序中使用以下代码:

public class Main {
    public static void main (String[] args) {
        System.out.println("PATH=" + System.getenv().get("PATH"));
    }
}

还有第二种解决方案,如果您从 Eclipse 等 IDE 中启动程序,您也可以在那里设置 PATH。在 Eclipse 中你可以通过以下方式做到这一点Run | Run Configurations | Environment在左侧栏上选择启动配置时Java Application.

我确实用以下代码重现了它image.jpg位于${user.dir}又名 Java 应用程序启动的当前目录。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

public class Main {
    public static void main (String[] args) {
        System.out.println("PATH=" + System.getenv().get("PATH"));
        try {
            Process exec = Runtime.getRuntime().exec("identify image.jpg");
            InputStream is = exec.getInputStream();
            InputStreamReader isr = new InputStreamReader(is);
            BufferedReader br = new BufferedReader(isr);
            System.out.println(br.readLine());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
} 

运行上面的代码后,您应该得到类似的输出:

PATH=/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin
image.jpg JPEG 690x518 690x518+0+0 8-bit sRGB 152KB 0.000u 0:00.000

第一行输出显示您的PATH对于您现在运行的 Java 应用程序。 第二条输出线来自identify image.jpg.

注意:我运行的是 Mac OS X 10.8.2 和 MacPorts 2.1.3


注意:在 Mac OS X 10.8 之前,有一种方法可以按用户群设置全局变量:~/.MacOSX/environment.plist。但从 Mountain Lion(又名 Mac OS X 10.8)开始,这不再有效。详细信息可以在这里查看:

  • https://apple.stackexchange.com/questions/57385/where-are-system-environment-variables-set-in-mountain-lion
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mac OS X 上的 Java 运行时在 PATH 中找不到程序 的相关文章

  • Spring Security 自定义过滤器

    我想自定义 Spring security 3 0 5 并将登录 URL 更改为 login 而不是 j spring security check 我需要做的是允许登录 目录并保护 admin report html 页面 首先 我使用教
  • 打印星号的 ASCII 菱形

    我的程序打印出这样的钻石 但只有当参数或菱形的每一面为4 例如如果我输入6 底部三角形的间距是错误的 我一直在试图找出答案 当参数改变时 底部的三角形不会改变 只有顶部的三角形会改变 它只适用于输入4 public static void
  • 如何在可编写脚本的应用程序中将任意 AppleScript 记录传递给 Cocoa?

    我有一个 Cocoa 应用程序 其中包含 sdef XML 文件中描述的 AppleScript 字典 sdef 中定义的所有 AppleScript 类 命令等都是工作属性 除了我的 提交表单 命令 提交表单 命令是我尝试将任意信息哈希表
  • GWT - 如何组织项目以拥有多个网页以及它们之间的导航

    我是 GET 的新手 顺便说一句 它给我留下了深刻的印象 并且发现它对于像我这样熟悉 C NET 桌面技术并愿意编写 Web 应用程序的人来说非常有吸引力 我根据 GWT Eclipse 向导生成的示例启动了自己的项目 该项目生成带有面板的
  • Spring RestTemplate 使用 cookie 遵循重定向

    最近我遇到了一个问题 我需要做一个GET请求远程服务 我假设使用一个简单的 servlet 并且 RestTemplate 返回Too many redirects 经过一番调查 似乎对指定远程服务发出的第一个请求实际上只是一个 302 重
  • Spring Boot自动装配存储库始终为空[重复]

    这个问题在这里已经有答案了 每次我进入我的服务类时 存储库似乎都没有自动连接 因为它不断抛出 NullPointerException 谁能帮我检查一下我缺少什么吗 这是我的代码 演示应用程序 java package com exampl
  • 大数据使用什么数据结构

    我有一个包含一百万行的 Excel 工作表 每行有 100 列 每行代表一个具有 100 个属性的类的实例 列值是这些属性的值 哪种数据结构最适合在这里使用来存储数百万个数据实例 Thanks 这实际上取决于您需要如何访问这些数据以及您想要
  • Spring Security SAML2 使用 G Suite 作为 Idp

    我正在尝试使用 Spring Security 5 3 3 RELEASE 来处理 Spring Boot 应用程序中的 SAML2 身份验证 Spring Boot 应用程序将成为 SP G Suite 将成为 IDP 在我的 Maven
  • 如何使用 Hibernate (EntityManager) 或 JPA 调用 Oracle 函数或过程

    我有一个返回 sys refcursor 的 Oracle 函数 当我使用 Hibernate 调用该函数时 出现以下异常 Hibernate call my function org hibernate exception Generic
  • Java Swing For mac 中的 DJ Native Swing 浏览器

    我有一个用 Swing 制作的 Java 应用程序 并且使用了一个 DJ Native Swing 浏览器 当我尝试在 OS X 上使用它时 它抛出了一个NoClassDefFoundError尽管我添加了 swt jar 但始终如此 有人
  • 如何避免 ArrayIndexOutOfBoundsException 或 IndexOutOfBoundsException? [复制]

    这个问题在这里已经有答案了 如果你的问题是我得到了java lang ArrayIndexOutOfBoundsException在我的代码中 我不明白为什么会发生这种情况 这意味着什么以及如何避免它 这应该是最全面的典范 https me
  • 了解joda时间PeriodFormatter

    我以为我明白了 但显然我不明白 你能帮我通过这些单元测试吗 Test public void second assertEquals 00 00 01 OurDateTimeFormatter format 1000 Test public
  • 将构建参数传递给 .wxs 文件以动态构建 wix 安装程序

    我是一名学生开发人员 我已经为我现在工作的公司构建了几个安装程序 所以我对WIX还是比较熟悉的 我们最近决定拥有一个构建服务器来自动构建我们的解决方案 它构建调试和发布以及混淆 和非混淆 项目 你真的不需要理解这些 您需要了解的是 我有相同
  • 如何在 Java 中创建接受多个值的单个注释

    我有一个名为 Retention RetentionPolicy SOURCE Target ElementType METHOD public interface JIRA The Key Bug number JIRA referenc
  • “无法实例化活动”错误

    我的一个 Android 应用程序拥有大约 100 000 个用户 每周大约 10 次 我会通过 Google 的市场工具向我报告以下异常情况 java lang RuntimeException Unable to instantiate
  • OSX 上的 locale.getlocale() 问题

    我需要获取系统区域设置来执行许多操作 最终我想使用 gettext 翻译我的应用程序 我打算在 Linux 和 OSX 上分发它 但我在 OSX Snow Leopard 上遇到了问题 python Python 2 5 2 r252 60
  • 如何重新启动死线程? [复制]

    这个问题在这里已经有答案了 有哪些不同的可能性可以带来死线程回到可运行状态 如果您查看线程生命周期图像 就会发现一旦线程终止 您就无法返回到新位置 So 没有办法将死线程恢复到可运行状态 相反 您应该创建一个新的 Thread 实例
  • Java中HashMap和ArrayList的区别?

    在爪哇 ArrayList and HashMap被用作集合 但我不明白我们应该在哪些情况下使用ArrayList以及使用时间HashMap 他们两者之间的主要区别是什么 您具体询问的是 ArrayList 和 HashMap 但我认为要完
  • 将 Apache Camel 执行器指标发送到 Prometheus

    我正在尝试转发 添加 Actuator Camel 指标 actuator camelroutes 将交换 交易数量等指标 发送到 Prometheus Actuator 端点 有没有办法让我配置 Camel 将这些指标添加到 Promet
  • 配置“DataSource”以使用 SSL/TLS 加密连接到 Digital Ocean 上的托管 Postgres 服务器

    我正在尝试托管数据库服务 https www digitalocean com products managed databases on 数字海洋网 https en wikipedia org wiki DigitalOcean 创建了

随机推荐

  • 根据foldr 定义foldl

    myFoldl a gt b gt a gt a gt b gt a myFoldl f z xs foldr step id xs z where step x g a g f a x 我目前正在读一本关于 Haskell 的书 在其中
  • WM_ENDSESSION 消息有问题

    我有一个问题WM ENDSESSION信息 即我想退出应用程序的主循环 WindowProc WM ENDSESSION消息正在发送 所以 我写了类似的东西 LRESULT CALLBACK windowProc HWND hwnd UIN
  • Zookeeper:无法写入 PID

    所以我正在尝试开始使用 Accumulo 我安装了 Hadoop 它运行时没有问题 但是当我尝试启动 Zookeeper 时 我得到 JMX enabled by default Using config opt zookeeper bin
  • 从字符串中提取时间

    我有这个字符串 它的结果是净时间 SERVER NAMEcmd 中的命令 SERVER NAME 的当前时间是 3 31 2014 9 35 57 AM 命令成功完成 我想提取该字符串中显示的时间 在本例中为 9 35 37 AM 我认为这
  • 表别名如何影响性能?

    在阅读有关调整 SQL 查询的内容时 我在某处读到 当使用多个表时 请始终使用表别名并在所有列名称前添加别名前缀 表别名如何影响性能 或者它们真的有影响吗 别名不影响性能以任何实际或可衡量的方式根本没有 编辑时添加斜体 也就是说 它会为查询
  • 如何在不启用使用运行时包构建的情况下使用 Delphi Dll

    最近我开始了一个包含如此多表单 框架和额外控件的项目 因此我的应用程序不断膨胀 我在项目中使用了 3 个 exe 全部由 Delphi 2009 制作 并且这些应用程序也共享相同的框架和表单 所以我使用 dll 来共享这些表单 但出现了一个
  • 从 XML 到 Oracle PL/SQL 环境中的路径列表

    请假设您有一个 XML 文件 例如 存储在也有 CLOB 列的 Oracle 表中
  • 在 anaconda python 发行版中添加 cairo 包

    我刚开始使用 python 的 anaconda 发行版 并且在安装 cairo 包时遇到问题 请注意 我使用的是 Mac OsX 我运行了以下命令conda install channel https conda binstar org
  • 我想要“实时物化视图”,其中包含任何行的最新信息

    我将此解决方案视为物化视图的替代方案 我想要最新记录的 物化视图 但它使用的是最多每 3 小时运行一次的计划查询 我的用户期待实时数据 我该怎么办 2018 年 10 月 BigQuery 不支持物化视图 但您可以使用这种方法 使用之前的解
  • 如何在控制台应用程序中监听键盘事件

    现在 我正在开发一个有点像 bash 的命令行应用程序 为了实现自动完成功能 我必须知道用户已按下 Tab 键 但我不知道如何在控制台应用程序中监听键盘事件 有任何想法吗 提前致谢 这比看起来稍微复杂一些 也许你应该看看jline为您处理一
  • 我希望它在 JavaScript 测验中继续到数组中的下一个元素

    所以我有一些代码 一旦完成一个问题 它就会停止 一旦你选择一个问题并完成问题并做对 它就会继续处理数组中的下一个问题 但如果你做错了它停止了 我还有一个小错误 当您输入问题编号并垃圾邮件输入键时 它会继续到数组上的问题 0 如果您能帮忙 请
  • yylloc 在此范围内未定义

    我在编译文件时遇到以下问题 我已经重写了 YYLTYPE 的定义 如下所示 虽然它与默认值相同 但我将扩展它 typedef struct YYLTYPE int first line int first column int last l
  • 如何创建一个以双引号作为默认引号格式的Python字典?

    我正在尝试创建一个 python 字典 该字典将用作 html 文件内的 java 脚本 var 以实现可视化目的 作为必要条件 我需要创建所有名称都包含在双引号内的字典 而不是 Python 使用的默认单引号 有没有一种简单而优雅的方法来
  • Python Paramiko,PermissionError:[Errno 13]从远程服务器获取文件时权限被拒绝

    import paramiko os paramiko util log to file E Automation paramiko log from stat import S ISDIR host xx xx xxx xxx port
  • T-sql 获取每天的最小值和最大值

    我正在尝试编写一个查询 每天从价格详细信息表中获取每件商品的最低和最高价格 在价格详细信息表中 价格每天设置多次 因此同一日期有许多记录 因此 我想要一个表 其中每个日期都有一行 然后将该表连接到同一个表 因此对于每个不同的日期 我想要最小
  • 当我向 HttpResponse 添加 cookie 时,如何删除“no-cache="Set-Cookie””?

    我目前正在从网络服务返回一个 cookie 代码如下 HttpResponse response var cookie new HttpCookie cookieName Value cookieValue Expires expiresD
  • iTextSharp 比较 2 个 PDF 是否相等

    我正在生成 PDF 并将其存储在数据库中 使用 Convert ToBase64String pdf ByteArray 将 pdf 数据存储在文本字段中 如果我生成数据库中已存在的完全相同的 PDF 并比较 2 个 base64 字符串
  • 有什么方法可以轻松确保 zef 拉取最新版本的 raku 模块?

    我最近在这里提出问题关于 zef 下载模块的过时版本 NativeHelpers 回调当我尝试安装它时失败了zef install NativeHelpers Callback 我必须从 github 将模块克隆到本地计算机 然后从那里安装
  • CASE THEN 子句始终求值

    我正在做一个SELECT它使用CASE将 nvarchar 值转换为正确的类型 如下所示 SELECT CASE WHEN propType money THEN convert money datavalue ELSE datavalue
  • Mac OS X 上的 Java 运行时在 PATH 中找不到程序

    我在用ImageMagick在 Mac OS X 10 7 上 我在以下帮助下安装了它MacPorts 当我现在进入终端并写入 identify image jpg 它工作得很好 但现在在 Java 中执行它时 会抛出以下异常 org im