编写一个Java程序,在main函数中传入我的参数并完成工作。如何返回结果呢?Java main方法无法返回字符串。
将我的jar文件放置在系统中的最佳位置在哪里?/user/bin吗?
如何以最少的输入调用它?我不想输入java jar XXXXXX com.mynamespace.myfunction ......,我想要使用一个简单的名称来调用它,比如“ls”。
编写一个Java程序,在main函数中传入我的参数并完成工作。如何返回结果呢?Java main方法无法返回字符串。
将我的jar文件放置在系统中的最佳位置在哪里?/user/bin吗?
如何以最少的输入调用它?我不想输入java jar XXXXXX com.mynamespace.myfunction ......,我想要使用一个简单的名称来调用它,比如“ls”。
/usr/bin/custom_program
,将其指向您的jar文件:#!/usr/bin/bash
java -jar /path/to/your/java.jar # add any custom command line switches here
不要忘记使用sudo chmod u+x /usr/bin/custom_program
将其标记为可执行文件。
你的程序输出可以通过System.out.println()
来实现,无需从主函数返回String
。
然后,你可以通过上述bash脚本的帮助,使用custom_program
调用你的java程序。
binfmt_misc
所需的内核模块)。2)您必须将BINFMT_MISC编译为模块或编译到 内核(CONFIG_BINFMT_MISC)并正确设置它。 如果您选择将其编译为模块,则会有 必须手动使用modprobe/insmod插入它,因为kmod 无法轻松支持binfmt_misc。 阅读此目录中的文件'binfmt_misc.txt'以了解 更多关于配置过程的信息。
3)将以下配置项添加到binfmt_misc中 (您现在应该已经阅读了binfmt_misc.txt): 支持Java应用程序:
':Java:M::\xca\xfe\xba\xbe::/usr/local/bin/javawrapper:'
':ExecutableJAR:E::jar::/usr/local/bin/jarwrapper:'
':Applet:E::html::/usr/bin/appletviewer:'
':Applet:M::<!--applet::/usr/bin/appletviewer:'
当然,你需要修复路径名。此文档中给出的路径/文件名与Debian 2.1系统相匹配(即jdk安装在/usr中,此文档中的自定义包装器在/usr/local中)。
gcj
另一个可能性(我不建议使用)是使用gcj(GCC内部的旧Java编译器)。
gcj
使您能够将Java程序编译为本地Linux ELF二进制可执行文件。但我不建议这样做,因为:
gcj
。gcj
的人很少,我只遇到过一个偶尔使用它的开发者。gcj
正在变得过时。gcj
生成的代码分配了很多内存,性能表现不佳(因为它使用Boehm垃圾回收器,比其他Java实现中的GC慢得多)。然而,在分配率较低的Java代码上,由于GCC在语言中立中间端所做的强大优化,它可能运行得相当快。gcj
支持的Java语言是某个相当老的Java标准的子集。