Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在子目录中运行jar文件_Java_Bash - Fatal编程技术网

Java 在子目录中运行jar文件

Java 在子目录中运行jar文件,java,bash,Java,Bash,我在堆栈溢出中寻找了一个很好的答案,但似乎没有一个解决方案能很好地工作 我有一个目录a,在目录a中有一个子目录B。 在子目录B中有一个jar文件,我们将其命名为start.jar(以及该目录中的一个lib文件)。我如何从目录A运行jar文件,而不将cd'ing放入子目录B 我猜你可以用-cp指令来实现,但我不确定这是如何实现的 --我犯了一个错误,正如人们指出的那样,我说了“远程”。我只是指一个子目录。 问题是,当我运行子目录B中的jar文件时,它会运行。但是,当我从目录A中执行java-jar

我在堆栈溢出中寻找了一个很好的答案,但似乎没有一个解决方案能很好地工作

我有一个目录a,在目录a中有一个子目录B。 在子目录B中有一个jar文件,我们将其命名为start.jar(以及该目录中的一个lib文件)。我如何从目录A运行jar文件,而不将cd'ing放入子目录B

我猜你可以用-cp指令来实现,但我不确定这是如何实现的

--我犯了一个错误,正如人们指出的那样,我说了“远程”。我只是指一个子目录。 问题是,当我运行子目录B中的jar文件时,它会运行。但是,当我从目录A中执行java-jar Path/To/B/start.jar时,会出错。我想知道如何解决这个问题

编辑: 所以我想我不清楚我的问题。很抱歉,我会处理掉的。 我正在运行solr_实例

我有一个目录“A”,它是solr_实例

在solr_实例中,有一个文件夹solr_instance/solr-4.6.1/example,它有一个start.jar文件和一个lib文件夹(当然还有其他文件)

当我运行java-jarsolr_instance/solr-4.6.1/example.start.jar时,我得到以下错误

java.io.FileNotFoundException: No XML configuration files specified in start.config or command line.
    at org.eclipse.jetty.start.Main.start(Main.java:502)
    at org.eclipse.jetty.start.Main.main(Main.java:96)
当我在子目录中运行它时,它就工作了。我想知道为什么会是这样,如果是这样的话,有没有一种方法可以真正做到这一点(而不用cd'ing)


对不起,如果我之前有点不清楚的话

在目录
A
中尝试:

java -jar B/start.jar

从A运行/访问
start.jar
,而不使用
cd
ing到
B
将是

user@hostname:~some/path/to/A$ java -jar ./B/start.jar #more explicit


remote part
在哪里出现?@sjsam:I怀疑操作人员误解了“remote”一词,并认为jar文件是“远程”的,因为它不在当前目录中。@ruakh:Well,可能是这样的如果您正在执行
java-jarpath/To/B/start.jar
,并且它“出错”,jar可能正在工作目录中查找您提到的库。如果是这样的话,只需
cd
就可以了。当然,这些都是推测,没有阅读错误消息(如果您发布它可能会有所帮助)。Nice++,这应该可以满足问题中提到的要求。但我有点困惑,因为op在标题中提到了
remote
。让我们等待更新++
user@hostname:~some/path/to/A$ java -jar B/start.jar # This will look local B