在maven构建项目中启用assert

时间:2013-11-13 23:31:08

标签: java maven assert

我有一个使用Maven构建的java程序,我需要启用assert关键字。理想情况下,我想在maven构建命令中启用断言。

3 个答案:

答案 0 :(得分:9)

Maven编译并构建java代码。当你实际运行java代码时会出现断言错误,所以使用maven你不能这样做

除非你使用maven插件启动java代码,否则你必须提供-ea到jvm

<强> exec:java

-ea传递给commandline argument

<强>神火

如果您打算执行测试,请配置sure-fire插件以将-ea传递给jvm

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

答案 1 :(得分:1)

唯一对我有用的事情是

$string = '< >< >Non-Fairtrade organized event-organized-Conferences, seminars.';

echo str_replace(array('<', '>'), '', $string); // Non-Fairtrade organized event-organized-Conferences, seminars.

答案 2 :(得分:0)

您无法在启用断言的情况下构建应用程序,因为它们在运行时启用,具体取决于您是否将-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>