Java 如何使用maven构建同一项目的两个版本

Java 如何使用maven构建同一项目的两个版本,java,android,maven,maven-3,maven-release-plugin,Java,Android,Maven,Maven 3,Maven Release Plugin,我有一个为客户定制的android项目。所以我建立了2个apk 第一个是公共apk,它是无法自行启动的实际应用程序,第二个apk是特定于客户端的。这将调用第一个传递客户机名称作为参数的参数,以便常规apk可以根据传递的客户机名称工作 随着客户数量的不断增长,这种做法变得效率低下。因此,我希望有一个单一的apk,但为不同的客户分别构建。我不想为每个客户分别复制项目。我们如何使用maven做到这一点 maven不建议这样做。非常感谢您的任何帮助为每个客户创建一个项目,其中只包含名称等资源。使用以下插

我有一个为客户定制的android项目。所以我建立了2个apk 第一个是公共apk,它是无法自行启动的实际应用程序,第二个apk是特定于客户端的。这将调用第一个传递客户机名称作为参数的参数,以便常规apk可以根据传递的客户机名称工作

随着客户数量的不断增长,这种做法变得效率低下。因此,我希望有一个单一的apk,但为不同的客户分别构建。我不想为每个客户分别复制项目。我们如何使用maven做到这一点


maven不建议这样做。非常感谢您的任何帮助

为每个客户创建一个项目,其中只包含名称等资源。使用以下插件将主应用程序捆绑为源apk:

最后,在客户端pom中将主应用程序用作依赖项。这可以用父pom来概括

<dependency>
    <groupId>enter.groupid.here</groupId>
    <artifactId>myapp-common-stuff</artifactId>
    <type>apksources</type>
</dependency>

在此处输入.groupid
myapp常见的东西
apksources

在此之后,只需构建每个客户项目

您可以利用吗?您可以将特定于客户的配置拆分为不同的配置文件,然后在构建时调用特定的配置文件:
mvn package-P customerX
。我建议对插件执行两次,以便在单个构建中获得结果。是的,我正在这样做。但是我如何为所有客户使用发布配置文件的commom属性呢。假设我想使用客户ABC的发布配置文件。我们如何进行如此复杂的构建