在Linux上运行.jar文件

时间:2013-03-27 16:30:42

标签: linux jar directory java

我有一个.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。有谁知道如何解决这个问题?

4 个答案:

答案 0 :(得分:9)

首先,尝试使用

在命令行上运行它

java -jar <file.jar>

user.dir属性是跨平台的(请参阅here),因此不应该是问题所在。但是,您使用正确的文件分隔符吗?记住它在UNIX上是'/',在Windows上是'\'。

答案 1 :(得分:1)

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

答案 2 :(得分:1)

你给的代码行在linux上运行良好。

我最好的猜测是你通过添加一个特定于Windows的路径分隔符(比如路径+“\ subdir”)来尝试使用这个目录路径,这不适合linux(你应该构建一个新的File对象)代替)。

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

答案 3 :(得分:0)

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

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

Read this article to know more