Java7库的动态maven修补

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> &

我希望有默认使用Java8的代码,但是对其进行修补并生成与java7兼容的jar。在这种情况下,这只是因为
可选的
用法。有没有办法在构建生命周期中包含这样的工作流?

经过一些调查,我回答自己如何使用和配置文件来实现这一点:

<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
没那么复杂。。。但可能有更好的解决方案