如何编译 .java 文件函数并从 Linux 的 cmd 行读取参数?

如何编译 .java 文件函数并从 Linux 的 cmd 行读取参数?

我有一个用 java 编写的函数来读取字符串并返回处理后的结果。

我正在使用 php,并且我不想在 php 中重写 java 函数,而是想进行 shell_exec 调用并通过 Linux 中的命令行获取从 java 返回的结果。

有人能帮助我吗?

答案1

由于您的标题也提到了编译,并且我假设您有想要使用的 java 源代码 - 我认为我会尽可能使其完整,所以我还提供了示例源代码。

为简单起见,目录结构为 /mainTest,例如根目录和一个名为 mainTest 的文件夹。其中有一个名为 phpFunction.java 的 Java 源文件

java源代码如下

package mainTest;

public class phpFunction {

    public phpFunction() {

    }

    public static void main(String[] args) {
        //our input is a string, example "25", convert it into a number
        int inputArg1 = Integer.parseInt(args[0]);

        //will hold a value to be output
        int outputValue = -1;

        //call a method with our input
        outputValue= multiplyInput(inputArg1);

        //print the output to std out
        System.out.println(outputValue);

    }

    //simply multiplies the input value by 2, returns results
    private static int multiplyInput(int inputValue){
        return inputValue*2;
    }

}

如注释中所示,源代码只是将一个值作为输入,将其乘以二,然后将结果发送到标准输出。

要编译它,你需要确保已经安装了 java jdk,你可以通过执行以下操作来检查

locate javac

如果您没有安装,请安装它(您也可以在可能安装了它的其他地方编译代码)

从根目录运行

javac mainTest/phpFunction.java

你最终会在 mainTest 目录中得到一个 phpFunction.class 文件

作为测试运行

java -cp . mainTest/phpFunction 25

其中 25 是要传递的参数,输出将是

$ java -cp . mainTest/phpFunction 25
50

相关内容