java - 是否可以在不使用任何shell的情况下编译并运行java?

标签 java bash shell

这个问题突然出现在我的脑海里。 为了编译java,我们需要使用$JAVA_HOME/bin/javac文件并将需要编译的java文件传递给它。 我想知道是否可以在不使用 bash/shell 的情况下执行 javac 文件。 或者使用其他编程语言直接执行javac文件?

最佳答案

是的,这是可能的。

#include <unistd.h>
int main(void)
{
  execl( "/path/javac","javac", "/path/to/program.java", NULL );
  return 0;
}

该 C 程序将执行编译器并编译 program.java,而无需使用 shell。只需在不使用 shell 的情况下运行它,您就可以在不使用 shell 的情况下运行编译器。 它不是一个非常有用的程序,它总是编译相同的单个文件。但可以修改它以读取包含要编译的文件列表的文件。这实际上就是 IDE 所做的事情。这是在没有 shell 的情况下运行 javac 的另一种方式。

对于运行已编译的java程序,同样的原理适用。创建一个运行 java 解释器的程序。

关于java - 是否可以在不使用任何shell的情况下编译并运行java?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31755331/

相关文章:

Java不必要的图像叠加

bash - 将带有后缀的 date() 添加到 sqlite3 查询中

linux - 在 Linux 中的单个列上进行 Grep

android - 使用 Bash 检查 Android SD 卡上是否存在目录

shell - 有哪些基于对象的 shell ?

Java问题数据库语法错误在 ":"或附近

java - Guava 缓存允许陈旧读取吗?

macos - Platypus shell 脚本不提示输入 "read"命令

java - 自动完成 TextView 不显示带有自定义适配器的下拉列表

php - 如何将多个 PHP 参数传递给 bash