Подтвердить что ты не робот

Exec-maven-plugin exec: java failing: невозможно присвоить значения конфигурации массиву типа java.lang.String

При выполнении mvn exec:java он не может правильно проанализировать аргументы конфигурации, вызывая следующую ошибку:

[ERROR] Не удалось выполнить цель org.codehaus.mojo: exec-maven-plugin: 1.2.1: java (default-cli) on Автотест-программы проекта: невозможно разобрать конфигурацию mojo org.codehaus.mojo: exec-maven-plugin: 1.2.1: java: не удается назначить значения конфигурации в массив типа java.lang.String: [-classpath, Classpath {}, --glue, com.company.test.cucumber, --format, pretty, --format, html: C:\workspace\autotest\target] → [Помощь 1]

Это конфигурация подключаемого модуля (с использованием Apache Maven 3.0.3):

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>1.2.1</version>
    <executions>
        <execution>
            <goals>
                <goal>java</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <includeProjectDependencies>false</includeProjectDependencies>
        <includePluginDependencies>true</includePluginDependencies>
        <executableDependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-core</artifactId>
        </executableDependency>
        <mainClass>cucumber.cli.Main</mainClass>
        <commandlineArgs>-Dfile.encoding=UTF-8</commandlineArgs>
        <arguments>
            <argument>-classpath</argument>
            <classpath/>
            <argument>--glue</argument>
            <argument>com.company.test.cucumber</argument>
            <argument>--format</argument>
            <argument>pretty</argument>
            <argument>--format</argument>
            <argument>html:${project.basedir}\target</argument>
        </arguments>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-core</artifactId>
            <version>1.0.2</version>
        </dependency>
    </dependencies>
</plugin>
4b9b3361

Ответ 1

Я бы предложил удалить пустые записи из вашей конфигурации и повторить попытку.

 <argument>-classpath</argument>
 <classpath/>

Причина в цели java: путь класса не допускается на основе документации.

BTW: Никогда не используйте "\" в своем maven pom. Вместо этого используйте косые черты.

Ответ 2

В соответствии с exec: java Docs здесь, вы должны:

Удалить <arguments> часть

И используйте объявления <additionalClasspathElements> для определения пути к классам.