Java7库的动态maven修补
我希望有默认使用Java8的代码,但是对其进行修补并生成与java7兼容的jar。在这种情况下,这只是因为Java7库的动态maven修补,maven,java-7,java-8,patch,Maven,Java 7,Java 8,Patch,我希望有默认使用Java8的代码,但是对其进行修补并生成与java7兼容的jar。在这种情况下,这只是因为可选的用法。有没有办法在构建生命周期中包含这样的工作流?经过一些调查,我回答自己如何使用和配置文件来实现这一点: <properties> <java.classifier>java8</java.classifier> </properties> <build> <plugins> &
可选的用法。有没有办法在构建生命周期中包含这样的工作流?经过一些调查,我回答自己如何使用和配置文件来实现这一点:
<properties>
<java.classifier>java8</java.classifier>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<classifier>${java.classifier}</classifier>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>java7</id>
<properties>
<java.classifier>java7</java.classifier>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-patch-plugin</artifactId>
<version>1.1.1</version>
<configuration>
<strip>1</strip>
<patches>
<patch>java7.patch</patch>
</patches>
</configuration>
<executions>
<execution>
<id>patch</id>
<phase>process-sources</phase>
<goals>
<goal>apply</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>...</groupId>
<artifactId>...</artifactId>
<version>1.0</version>
</dependency>
</dependencies>
</profile>
</profiles>
爪哇8
org.apache.maven.plugins
maven编译器插件
3.1
1.8
1.8
UTF-8
org.apache.maven.plugins
maven jar插件
${java.classifier}
爪哇7
爪哇7
org.apache.maven.plugins
maven编译器插件
3.1
1.7
1.7
UTF-8
org.apache.maven.plugins
maven补丁插件
1.1.1
1.
java7.0补丁
补丁
过程源
应用
...
...
1
没那么复杂。。。但可能有更好的解决方案