我想构建一个应用程序的两个版本,唯一的区别是我想在一个特定的.java
文件的不同版本中交换。我已经有了一个用于构建源代码的Maven构建版本,另外还有一个Ant构建版本,然后将其封装为带有嵌入式JRE的zip
。使用Maven,我如何使用一个不同的.java文件构建两个版本的Java项目?
因此,我可以修改我的Ant构建以为这个新构建创建另一个zip
文件,但是如何处理使用单个修改后的源文件重建源的最佳方法是什么?
更新,进步
我现在已经子类与main()
方法的起始课,所以不再需要交换源文件,围绕相反,我们只需要在清单中传为mainClass
的差值,我们现在只有一个源树可以构建。
所以在我pom.xml
我:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.3</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<descriptors>
<descriptor>assembly.xml</descriptor>
</descriptors>
<archive>
<manifest>
<mainClass>com.companyname.StartClass</mainClass>
<packageName>com.companyname</packageName>
<addClasspath>true</addClasspath>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
所以我可以有这些组件插件多,所以我可以建两个组件只是在不同的表现?
如何在构建之间更改此源文件?通过访问资源配置文件可以实现不同的运行时行为吗?顺便说一句,你不必使用单独的Ant构建。可以在项目的POM中配置[Maven Assembly Plugin](https://maven.apache.org/plugins/maven-assembly-plugin/)来完成此操作。 –
@GeroldBrosser'你如何在构建之间更改此源文件? '这是问题的关键,对我来说,比使用配置文件实现差异更好的解决方案。 –
其实我是指你如何交替地改变源文件的内容。你每次都从两个不同的地方覆盖它吗?你是否手动更改它? –