我有一个使用 Maven 构建的 java 程序,我需要启用该assert
关键字。理想情况下,我想在 Maven 构建命令中启用断言。
问问题
9565 次
3 回答
10
Maven 编译并构建 java 代码。当您实际运行 java 代码时会出现断言错误,因此使用 maven 您不能这样做
除非您使用 maven 插件来启动 java 代码,否则您必须提供 -ea
给 jvm
exec:java
传递-ea
给命令行参数
万无一失
如果您打算执行测试,则配置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>
于 2013-11-13T23:39:14.063 回答
4
唯一对我有用的是
export MAVEN_OPTS="-ea"
于 2016-10-06T13:48:15.080 回答
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>
于 2017-02-05T10:20:15.740 回答