Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.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
没有AntJava任务的可运行jar文件-这怎么可能?_Ant_Jar_Executable_Heap Dump - Fatal编程技术网

没有AntJava任务的可运行jar文件-这怎么可能?

没有AntJava任务的可运行jar文件-这怎么可能?,ant,jar,executable,heap-dump,Ant,Jar,Executable,Heap Dump,我从以前的开发人员那里继承了一些代码,这些代码使用Ant构建到一个可执行的jar文件中,通过双击运行。应用程序运行,但在某些情况下会因OutOfMemoryError而崩溃。为了研究这个问题,我想将-XX:+heapdumponautofmemory jvm参数添加到Ant构建文件中,据我所知,元素需要在任务下运行。但是,在这个代码库中的这个或任何其他Ant构建文件中找不到任务 这怎么可能呢?如果没有任务,jar文件如何可以执行 我主要是想找出是什么让我的jar文件可以执行,这样我就可以知道在哪

我从以前的开发人员那里继承了一些代码,这些代码使用Ant构建到一个可执行的jar文件中,通过双击运行。应用程序运行,但在某些情况下会因OutOfMemoryError而崩溃。为了研究这个问题,我想将-XX:+heapdumponautofmemory jvm参数添加到Ant构建文件中,据我所知,
元素需要在
任务下运行。但是,在这个代码库中的这个或任何其他Ant构建文件中找不到
任务

这怎么可能呢?如果没有
任务,jar文件如何可以执行

我主要是想找出是什么让我的jar文件可以执行,这样我就可以知道在哪里放置
元素来调试OOME

谢谢

任务不会创建可执行的jar文件。它执行一个Java程序

我认为,在启动可执行jar文件时,双击它是不可能指定VM参数的。如果要传递VM参数,请打开命令提示符并按以下方式执行jar:

java -XX:+HeapDumpOnOutOfMemory -jar nameOfTheJar.jar

jar是可执行的,因为它在META-INF/MANIFEST.MF文件中定义了一个主类。双击它运行对Ant没有任何作用。Ant只是用来打包jar


为了添加参数并仍然通过双击启动,您可以创建一个快捷方式,在JB Nizet的答案中运行命令

请参见@digitaljoel的答案。并阅读请发布build.xml内容。你得到的答案很快,但他说的是事实。此外,您还可以编写启动脚本来启动应用程序。启动脚本通常是.bat、.cmd(Windows)或.sh(*nix)文件,您可以在其中执行环境参数检查、定义jvm参数以及应用程序的预设启动参数,等等。例如,您可以检查Tomcat的catalina.bat或catalina.sh并查看它的功能。