在Linux上运行.jar文件

3
我有一个.jar文件,它从当前文件夹中读取两个文件,并生成一个.txt文件和一个单独的文件夹,其中包含多个其他的.txt文件。在Windows中,使用以下代码创建目录可以完美运行:
static String dir = System.getProperty("user.dir");

我按照这里的说明:https://askubuntu.com/questions/192914/how-run-a-jar-file-with-a-double-click来设置我的.jar文件可以通过简单的双击运行,但是现在,当我双击它时,什么也没发生。我的猜测是上面的代码行在Linux上无法正常转换。 有人知道如何解决吗?


1
你是如何构建路径的? - Boris the Spider
1
你遇到了什么异常?尝试先通过终端运行它以查看。使用GUI运行jar文件会掩盖错误。 - Jops
4个回答

11

首先,尝试在命令行中运行它,使用

java -jar <file.jar>

user.dir属性是跨平台的(参见这里),所以它不应该是问题。然而,您是否正在使用正确的文件分隔符?请记住,在UNIX上是 '/',在Windows上是 '\'。


1

你提供的代码在Linux上运行良好。

我猜测你试图通过添加Windows特定的路径分隔符(如path +“\ subdir”)来使用此目录路径,但这对于Linux不合适(你应该构建一个新的File对象)。

要么如此,要么你的jar文件根本没有被执行。你尝试在jar文件中做一些非常简单的事情,看看是否有任何东西正在运行吗?你尝试使用java -jar myapp.jar运行你的jar文件,看看是否抛出任何异常或显示错误消息吗?


0
尝试在此命令后传递其他文件作为参数:java -jar Jarname.jar

0

您需要手动调整构建过程,将jar文件标记为可执行文件。在您的构建xml文件中,有一个目标“-post-jar”,在构建jar文件后调用该目标。您需要创建该目标并使用Ant的chmod任务来修改您的jar文件。一旦完成,每次在该项目中制作jar文件时都会发生。

只要安装了JRE,它就可以正常运行。

阅读本文以了解更多信息


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接