2013-03-27 106 views
1

我有一个.jar文件,它从当前文件夹中读取两个文件,并产生一个.txt文件和一个单独的文件夹以及多个其他.txt文件。在Linux上运行.jar文件

static String dir = System.getProperty("user.dir"); 

我用这里的指示:此使用此代码来创建目录工程完全在Windows https://askubuntu.com/questions/192914/how-run-a-jar-file-with-a-double-click建立我的.jar文件,以一个简单的双击,但截至目前运行,它双击时不执行任何操作。我的猜测是,上面的代码行不能很好地转换成Linux。任何人都知道如何解决这个问题?

+1

你是如何建立路径? – 2013-03-27 16:35:10

+1

你有什么异常?尝试先通过终端运行它来查看。使用GUI运行jar会掩盖错误。 – Jops 2013-03-27 16:39:40

回答

8

首先,尝试运行它的命令行,与

java -jar <file.jar>

user.dir属性是跨平台(见here),所以它不应该成为问题。但是,你使用正确的文件分隔符?记住它在UNIX上是'/'和在Windows上是'\'。

1

尝试Java的罐子Jarname.jar和该命令

1

你给Linux上的精品工程的代码行后通过的其他文件作为参数。

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

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

0

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

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

Read this article to know more