当我使用Maven时,通过命令行设置一些单元测试的属性让我感到困惑。有很多问题(例如不设置MAVEN_OPTS环境变量指定Maven内存参数,是否有办法通过命令行向Maven传递jvm参数?,如何为Junit单元测试设置JVM参数?)都涉及这个主题,但没有一个能给出我要找的答案。
我想设置属性java.util.logging.config.class
的某个值,但我不想设置MAVEN_OPTS
环境变量。
我可以在我的pom文件中使用下面的属性来配置surefire插件:
<argLine>-Djava.util.logging.config.class=someClass</argLine>
这样可以在每次运行测试阶段时进行设置。
但是,如果我从POM文件中删除设置,并将以下内容添加到命令行:
mvn package -DargLine="java.util.logging.config.class=someClass"
然后在测试阶段报告以下错误并构建失败:
错误:找不到或加载主类java.util.logging.config.class=someClass
如果我从命令行运行以下命令:
mvn package -Djava.util.logging.config.class=someClass
如果在构建过程的开头报告以下错误,但构建和测试都成功,则为:
记录配置类“someClass”失败 java.lang.ClassNotFoundException: someClass
我不太理解这种行为。有人能启示我吗?
java.util.logging.config.class
属性来控制我的应用程序所依赖的第三方库的日志输出。 - ksl