1

我想设置 hudson 工作以从 hudson 发布我们的项目。但是我有一个问题:我们的构建过程正在运行需要连接到数据库的测试,主机:数据库的端口被指定为系统参数。但是,当我尝试将此类系统参数释放:准备时,它似乎创建了一个嵌套进程并且没有将任何系统参数传递给它。如何将系统参数传递给嵌套进程?

我可以使用 Maven 配置文件吗?

感谢您的任何评论!

4

2 回答 2

1

这些-D属性不会可靠地从 surefire-pluging 传播到您的测试(我不知道为什么它适用于 eclipse)。在命令行上使用 maven 时,使用argLine属性来包装您的属性。这会将它们传递给您的测试

mvn -DargLine="-D<property>=<value>" <goal>

用于System.getProperty读取代码中的值。看看这篇关于 和 的区别的System.getenv帖子Sytem.getProperty

(这取自我以前的回答。)

于 2011-04-18T15:15:04.467 回答
1

pom.xml 无法 读取系统属性,请参阅环境变量属性。但是您不应该编写与仅存在于特定计算机上的变量相关联的 pom。示例:JAVA_HOME在任何地方都可以使用,mydatabase.username但不能。

正确的方法是将配置写入属性文件并从 pom.xml 中读取。这样你就有了一个记录的配置,而不是谁知道什么系统变量。它也比保存带有-D参数的 shell 脚本简单。

于 2011-04-18T15:54:54.610 回答