Плагин Gradle: ошибка при запуске JavaExec

#java #gradle #plugins

#java #gradle #Плагины

Вопрос:

Я пытаюсь создать плагин gradle java для выполнения различных задач по настройке рабочего пространства модов для Java-игры, чтобы изучить методы.

У меня есть задача попытаться запустить Procyon в jars следующим образом, где jar это nio-файл и out путь к nio:

 ExecResult res = getProject().javaexec(act -> {
        act.executable(DecompileConstants.PROCYON_JAR);
        act.setMain("-jar");
        act.args("-jar", jar.getAbsolutePath(), "-o", out.toAbsolutePath());
        act.workingDir(DecompileConstants.WORKING_DIR.toFile());

        act.setStandardOutput(System.out);
        getLogger().lifecycle(": Running "   act.getExecutable());
    });
  

Однако я получаю то, что кажется распространенной ошибкой от gradle при запуске задачи декомпиляции:

Caused by: java.io.IOException: CreateProcess error=193, %1 is not a valid Win32 application

Каков наилучший способ отладки этой проблемы, чтобы заставить эту задачу работать? Это должно быть сделано на JAVA, поскольку в кодовой базе уже есть существующие задачи. Я работаю с Gradle 3.1 (последней версией на момент написания).

Ответ №1:

Как оказалось, jar был недействительным и в нем отсутствовал его основной класс. Эта ошибка была далека от полезной, но именно это и сделало ее.

Я полагаю, всегда дважды проверяйте свои банки в командной строке.