Включить assert в построенном проекте maven

У меня есть программа java, которая построена с использованием Maven, и мне нужно включить assert ключевое слово. В идеале я хотел бы включить утверждения в команде Maven build.

3 ответов


Maven компилирует и строит код java. Ошибки утверждения приходят, когда вы фактически используете java-код, поэтому с maven вы не можете сделать это таким образом

если вы не используете плагин maven для запуска java-кода, вам придется предоставить -ea в jvm

exec:java

передать -ea to аргумент командной строки

верный

если вы имели в виду для выполнения теста, то настройте конечно-огонь плагин для передачи -ea в jvm

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.16</version>
    <configuration>
        <enableAssertions>true</enableAssertions>
    </configuration>
  </plugin>

единственное, что сработало для меня, было

export MAVEN_OPTS="-ea"

нельзя построить приложение с включенными утверждениями, так как они включены во время выполнения в зависимости от whetevery или нет вы передаете -ea аргумент для JVM. Вот конфигурация плагина Maven exec, который включает утверждения при запуске программы:

       <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.5.0</version>
            <executions>
                <execution>
                    <goals>
                        <goal>exec</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <executable>java</executable>
                <arguments>
                    <argument>-ea</argument>
                    <argument>-classpath</argument> <classpath />
                    <argument>io.mc.validationdemo.App</argument>
                </arguments>
            </configuration>
        </plugin>