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

标签 java javac

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

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

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

当我运行此脚本时,出现以下错误:

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 是在 $3 处传递的值。

这是我的 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 的有效选项。
首先检查它的值。

然后,传递的参数"$1""$2""$3"没有任何意义:

$JAVA_HOME/javac -classpath $clp myjavaapp.java "$1" "$2" "$3"

javac 命令用于编译类,而不是用于运行应用程序。
您可能将其与允许运行可执行类(应用程序)并接受参数的 java 命令混合。

关于javac:使用参数时出现无效标志错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45150040/

相关文章:

java - 为什么 DATE 函数不能与 Hibernate 中的 count unique 一起使用?

即使工作正常,Java 方法创建也无法读取

java编码确定点是否位于多边形(矩形)内部的解决方案

java - Hibernate 时间戳搜索查询返回空列表

java - java程序运行时出现问题

git - 错误 : unmappable character for encoding UTF8 after GIT merge

java - 使用 Java Builder 模式时的模块化?

无法识别 javac

java - 为什么在 Ubuntu 中有很多 Java 的文件夹?

eclipse - 使用 javac 编译 OSGI 4.2 应用程序时,编译器看不到泛型信息