我目前正在为我的公司评估Install4J。我们有一个用例,希望能够处理以下构建:开发、预发布和生产。它们仅在两个方面有所不同:
- 一个命令行参数指定它是哪个版本(这用于确定要连接到哪个服务器环境等)。
- 发布时间表。
例如:我们希望能够向一小群安装了预发布版本的人发布我们软件的新版本,一旦我们觉得它足够稳定,我们就想创建一个生产版本。我们希望自动更新功能能够自动理解它不应该在发布类型之间混合(即,如果您安装了预发布版本,则应该只获得预发布更新)。
如何在不创建 4 个完全独立的安装项目的情况下实现这一目标?
最佳答案
您可以使用编译器变量来做到这一点。在“常规设置”->“编译器变量”选项卡上定义适当的编译器变量,并通过语法使用它们
${compiler:variableName}
在其他文本字段中。所有文本字段旁边都有一个变量选择器(向右的箭头),允许您从列表中选择变量。
构建时,您可以从命令行 ( -D NAME=VALUE[,NAME=VALUE]
) 或 ant 任务(子元素 <variable name="variableName" value="variableValue"/>
)覆盖编译器变量值。
关于java - 在 Install4j 中处理不同的发布计划,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11138369/