我有一个使用Maven构建的java程序,我需要启用assert
关键字。理想情况下,我想在maven构建命令中启用断言。
答案 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>