javac:使用参数时出现无效标志错误

javac: invalid flag error when using arguments

免责声明:我不是 Java 开发人员。

我有一个 shell 脚本,可以将变量传递到我的 java 程序中。

#!/bin/bash
$JAVA_HOME/javac -classpath $clp myjavaapp.java "" "" ""

当我 运行 这个脚本时,我得到以下错误:

javac: invalid flag: /public/rest/api/1.0/cycles/search?versionId=-1&projectId=10005
Usage: javac <options> <source files>
use -help for a list of possible options

其中 /public/rest/api/1.0/cycles/search?versionId=-1&projectId=10005 是在 </code> 处传递给它的值。</p> <p>这是我的 <code>myjavaapp.java 文件的内容示例:

package myjavaapp;

...

public class myjavaapp {

    public static void main(String[] args) throws URISyntaxException, IllegalStateException, IOException {

      ...

      String variable1 = args[0];
      String variable2 = args[1];
      String variable3 = variable2 + args[2];

      ...

    }

}

我做错了什么?我是否正确使用参数?

问题可能是 $clp 变量的值是 /public/rest/api/1.0/cycles/search?versionId=-1&projectId=10005 而不是 javac 的有效选项。
先检查它的值。

那么,传递的参数"" "" ""就没有意义了:

$JAVA_HOME/javac -classpath $clp myjavaapp.java "" "" ""

javac 命令用于编译 class(es),不适用于 运行ning 应用程序。
您可能将它与允许 运行 可执行文件 class(应用程序)并接受参数的 java 命令混合使用。