java - 使用 Maven 构建 2 个具有不同源的 jar

标签 java maven build

我正在尝试从 1 个 java 项目构建 2 个 jar。这 2 个 jar 将具有完全相同的源,除了在构建时,一个将使用设置为 True 的 boolean 变量进行构建,而一个将使用设置为 False 的相同 boolean 变量进行构建。

示例:

Jar 1 将具有所有相同的源,除了 1 个 java 文件:

public static final boolean ENABLE_TOAST = True;

Jar 2 将具有所有相同的源代码,除了它具有的同一个 java 文件:

public static final boolean ENABLE_TOAST = False;

我对 Maven 和 Ant 比较陌生,我有使用 maven-replacer-plugin 的想法。但是,我找不到以前做过类似事情的人。

最佳答案

我的方法是创建三个属性文件:

  1. 应用程序属性
  2. app.properties.test.environment
  3. app.properties.prod.environment

2) 和 3) 对于每个环境都有不同的设置(即 ENABLE_TOAST = 对于产品为 false,对于测试为 true)

应用程序当然只使用app.properties

在构建时,我将 app.properties 替换为正确环境的内容(2 或 3)

在 ANT 中,我有两个目标,每个目标都有一个复制文件命令,且覆盖标志设置为 true。

我确信 MAVEN 也有类似的功能(太忙而无法在 ATM 上查找)

希望这有帮助

关于java - 使用 Maven 构建 2 个具有不同源的 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17977913/

相关文章:

java - 将对象移动到一个点 android

java - 使用 ExecutorService 并行化循环来执行任务

java - JVM启动时如何在Java中运行初始化方法?

java - 如何使用分类器访问 jar?

android - "AndroidApkSigner"任务没有为所需参数 "KeyPass"赋值

c++ - 如何让KDevelop和CMake只构建特定目标?

java - 返回 Hashset 中具有最高值的类对象

java - 针对 hsqldb 运行 hibernate 时无法解析的日期

java - 如何绕过 Maven 的企业防火墙/代理

build - 如何在 SCons 中构建目标之前和之后显示消息