当前位置: 首页 > 知识库问答 >
问题:

使用脚本中的相对路径执行jar

董子航
2023-03-14

我正试图使用MacOS“scheduler”launchd执行一些Java代码。

我的plist文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>net.nathangrigg.archive-tweets</string>
    <key>ProgramArguments</key>
    <array>
        <string>/Users/ie54553/Desktop/MyProject/script.sh</string>
    </array>
    <key>RunAtLoad</key>
    <true/>

    <key>StandardOutPath</key>
    <string>/tmp/out.out</string>
    <key>StandardErrorPath</key>
    <string>/tmp/err.out</string>
</dict>
</plist>

剧本上海:

/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/bin/java -jar /Users/ie54553/Desktop/MyProj/classes/artifacts/jarFile_jar/Application.jar

问题是,我在程序中的所有相对路径(资源路径、属性、日志位置、Springbean文件等)都失败了。

plist文件位于根文件夹下,因此我假设所有路径都是相对于执行器位置的。

共有1个答案

柳向明
2023-03-14

如果路径以“/”开头,则将其视为绝对路径并按绝对路径处理。“/”下是否有“tmp”目录(并且具有写访问权限)?如果没有,则尝试使用“tmp”而不是“/tmp”。

从文档中:

对于UNIX平台,绝对路径名的前缀总是"/"。相对路径名没有前缀。表示根目录的抽象路径名具有前缀"/"和空名称序列。

 类似资料:
  • 问题内容: 首先,这个问题与 Oracle SQL Developer 3.2有关 ,与SQL * Plus或iSQL等无关。我做了很多搜索,但没有找到直接的答案。 我有几个试图自动化的脚本集合(顺便说一句,我的SQL经验很基础,而且大多基于MS)。我遇到的麻烦是通过相对路径执行它们。例如,假设此设置: 我想要一个类似这样的文件: 脚本/A/runAll.sql: 我收集的where表示SQL *

  • 这是我自己的USB驱动器上的程序文件夹: 我想使用启动 我不能使用这个:

  • 问题内容: 如果将PHP脚本作为cron脚本运行,则如果使用相对路径,则include常常会失败。例如,如果您有 在命令行上运行时会找到文件foo.php,但从cron脚本运行时找不到。 一个典型的解决方法是先chdir到工作目录,或使用绝对路径。但是,我想知道导致此行为的cron和shell之间的区别是什么。在cron脚本中使用相对路径时,为什么会失败? 问题答案: 从cron运行时,脚本的工作

  • 本文向大家介绍Linux 相对路径和绝对路径的使用,包括了Linux 相对路径和绝对路径的使用的使用技巧和注意事项,需要的朋友参考一下 01. 概述 绝对路径和相对路径在shell环境中经常遇到,各有用处。有时候相对路径比较方便,有时候绝对路径比较方便。 02. 绝对路径(Absolute Pathname) 绝对路径必定由**/**开头 绝对路径是为档案/文件的所在位置做指向 在任何时候,都可以

  • 我正在用Joomla编写一个组件,希望使用JavaScript。 我在一个separat测试html页面中获得了JavaScript部分,但现在我想将其包含在Joomla组件中。 在脚本中,我需要到图像文件夹的路径。我不想在脚本中硬编码绝对路径。如何获得相对路径?我可以使用Joomla函数吗? 谢谢。

  • 问题内容: Popen的文档提到您不能指定相对于“更改工作目录” kwarg的可执行路径。 如果不是None,则子目录的当前目录将在执行之前更改为 。 请注意,搜索可执行文件时不会考​​虑此目录,因此您无法指定程序相对于的路径。 但是python在我的系统上的行为似乎与这种说法直接矛盾: 是否在使用相对路径来依赖于平台且不应依赖的东西?还是这是一个文档错误? (从评论这个问题产卵由glglgl这里