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

时间:2017-07-17 17:13:48

标签: 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];

      ...

    }

}

我做错了什么?我是否正确使用了这些论据?

1 个答案:

答案 0 :(得分: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命令用于编译类,而不是用于运行应用程序 您可能将其与允许运行可执行类(应用程序)并接受args的<?xml version="1.0" encoding="UTF-8"?> <buildinfo xmlns:xsi="http&#x3a;&#x2f;&#x2f;www.w3.org&#x2f;2001&#x2f;XMLSchema-instance" xmlns="https&#x3a;&#x2f;&#x2f;abc.com&#x2f;schema&#x2f;4.0&#x2f;buildinfo" xsi:schemaLocation="https&#x3a;&#x2f;&#x2f;abc.com&#x2f;schema&#x2f;4.0&#x2f;buildinfo https&#x3a;&#x2f;&#x2f;abc.com&#x2f;resource&#x2f;4.0&#x2f;buildinfo.xsd" buildinfo_version="1" account_id="23456" app_id="456321" sandbox_id="223457" build_id="1234567"> <build version="1 Jul 2016 Static" build_id="1234567" submitter="David" platform="Not Specified" lifecycle_stage="Not Specified" results_ready="true" scan_overdue="false" legacy_scan_engine="false"> <analysis_unit analysis_type="Static" published_date="2016-07-1T15&#x3a;58&#x3a;55-04&#x3a;00" published_date_sec="324532678" status="Results Ready" engine_version="2341267"/> </build> </buildinfo> 命令混合使用。