У меня есть вопрос, касающийся оценки моего кода с помощью программы оценки, доступ к нему через командный файл. Я вставил код командного файла ниже.
@if "%DEBUG%" == "" @echo off
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%..
@rem Add default JVM options here. You can also use JAVA_OPTS and TASK_SMALLEST_POLYGON_EVALUATOR_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
echo %JAVA_EXE%
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
echo %JAVA_HOME%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto init
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:init
@rem Get command-line arguments, handling Windows variants
if not "%OS%" == "Windows_NT" goto win9xME_args
:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=D:\Programs\Java\programming\Polygon\bin\testerexec.jar
set _SKIP=2
:win9xME_args_slurp
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=D:\Programs\Java\programming\Polygon\bin\testerexec.jar
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\lib\task-smallest-polygon-evaluator.jar;%APP_HOME%\lib\scala-logging_2.13-3.9.2.jar;%APP_HOME%\lib\jackson-module-scala_2.13-2.10.2.jar;%APP_HOME%\lib\scallop_2.13-3.3.2.jar;%APP_HOME%\lib\scala-reflect-2.13.0.jar;%APP_HOME%\lib\scala-library-2.13.1.jar;%APP_HOME%\lib\logback-classic-1.2.3.jar;%APP_HOME%\lib\jackson-module-paranamer-2.10.2.jar;%APP_HOME%\lib\jackson-databind-2.10.2.jar;%APP_HOME%\lib\logback-core-1.2.3.jar;%APP_HOME%\lib\slf4j-api-1.7.26.jar;%APP_HOME%\lib\jackson-annotations-2.10.2.jar;%APP_HOME%\lib\jackson-core-2.10.2.jar;%APP_HOME%\lib\paranamer-2.8.jar
echo %JAVA_OPTS%
echo %TASK_SMALLEST_POLYGON_EVALUATOR_OPTS%
echo done
@rem Execute task-smallest-polygon-evaluator
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %TASK_SMALLEST_POLYGON_EVALUATOR_OPTS% -classpath "%CLASSPATH%" com.simscale.smallestpolygon.Evaluator %CMD_LINE_ARGS%
pause
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable TASK_SMALLEST_POLYGON_EVALUATOR_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%TASK_SMALLEST_POLYGON_EVALUATOR_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega
Есть оценщик, который должен оценить мой код. Я хотел бы знать, как передать аргумент в этот командный файл. Я попытался ввести в аргументе местоположение моего файла .jar, но я получаю ошибку
java .io.IOException: Невозможно запустить программу "D: \ Programs \ Java \ Programming \ Polygon \ bin \ testerexe c .jar ": ошибка CreateProcess = 193,% 1 не является допустимым приложением Win32
ОШИБКА com.simscale.util.Util $ - непредвиденное исключение в потоке java .io .IOException: Невозможно запустить программу "java -jar" D: \ New folder \ task-smalllest-polygon -valuator \ bin \ testerexec3.jar "": CreateProcess error = 2, система не может найти указанный файл
Я пробовал 2 вида аргументов во входных данных, но ни один из них, похоже, не работает
Поставляется программа оценки. Эта программа получает один позиционный аргумент, который является исполняемым файлом (точка входа для целевой программы - вашей программы).
Позиционный аргумент, который я передаю, вызывает ошибку. Может ли кто-нибудь помочь мне с передачей этого позиционного аргумента? Какие входные данные должны быть указаны в файле bat?