当前位置: 首页 > 面试题库 >

运行JAR文件而不直接调用`java`

拓拔迪
2023-03-14
问题内容

我正在部署用Java编写的接受命令行参数的命令行工具。我将其打包为JAR文件,因为使用单个文件很方便。

问题是要运行它,您必须先调用它java -jar (filename) (args),这很烦人。

我目前拥有的方法是启动一个简单的bash脚本,但这并不理想。

无论如何(在Linux,Ubuntu Server中)是否可以制作一个JAR文件来单独调用Java
VM?我一直在寻找Shebang,但找不到它(这是合理的,因为它是编译后的代码)。

这就是我想做的:myprogram.jar arg1 -arg2代替这个:java -jar myprogram.jar arg1 -arg2

谢谢,
布莱恩


问题答案:

请参阅Linux Kernel文档中的Documentation /
java.txt
,它告诉您如何使用binfmt_misc内核模块配置系统以自动运行Jar文件。但是,这是您在计算机上更改的配置选项,而不是您对jar文件所做的更改,因此它不会在系统之间跟随jar文件。



 类似资料:
  • 我正在尝试将我的checkers程序从Eclipse导出到一个可运行的jar文件中。我得到一个jar文件,但它不运行。。。它给了我关于未找到的类的神秘错误消息。jar文件的意义不在于它包含了它所需要的所有类吗?我不知道现在该做什么。 这是我运行罐子时得到的: 知道是的一个内部类可能会有所帮助?有什么问题吗?我在导出向导中尝试了“提取所需库”和“打包所需库”。 我还尝试从命令行使用,但效果不太好。以

  • 我有一个JAR文件,它在运行时输出一些东西到终端上。但是,当我双击JAR文件时,什么也没有发生,我的Mac告诉我检查控制台可能的错误,我什么也没有发现。 另一方面,从终端运行JAR工作正常,并且JAR按预期运行。 我正在使用IntelliJ构建我的JAR,我确信我的配置对于构建一个JAR文件是正确的。

  • 我有一个项目与cucumber和maven也我使用JUnit。 我能够从Eclipse成功地运行和构建我的项目。 现在,我想在另一个没有安装eclipse或cucumber的系统中从命令行运行测试。我有一个想法,我们可以从JAR创建一个JAR,我们可以通过java cli命令运行测试。 我已经在类路径中添加了JUNIT Jar。 我以两种方式生成jar, 1)使用->project->export

  • 本文向大家介绍Spring Boot 直接用jar运行项目的方法,包括了Spring Boot 直接用jar运行项目的方法的使用技巧和注意事项,需要的朋友参考一下 概述 在 Spring Boot 开篇-创建和运行 一文中,介绍了如何创建一个Sprint Boot项目并且运行起来。但是运行的方式是在IDEA中直接Run起来的。还有另一中方式可以可以把Spring Boot程序运行起来,就是直接在命

  • 我试图在运行时注入一个ByteBuddy代理,在这种情况下,当JVM启动时,ByteBuddy不在机器上(因此不在类路径中)。我的第一个想法是将bytebuddy库jar文件添加到类路径中的一个目录中,以便在注入代理时加载它,但我找不到检索正在运行的JVM的类路径的方法。因此,我想知道在注入代理之前,是否可以使用Java调试接口在JVM中手动加载字节库jar文件。 我试图修改这段代码(使用JDI)