如何识别不同Java版本的maven工件?

时间:2013-11-23 18:04:22

标签: java maven version

我有一个为Java 1.7和Java 1.6编译的maven项目。 1.7 jar是默认的工件,但我不知道如何识别1.6 jar。

我可以为工件ID,版本添加后缀,或者设置分类器。 哪种方式首选?当另一个项目A依赖于1.7 jar时,项目B取决于1.6 jar,而项目C取决于AB?< / p>

2 个答案:

答案 0 :(得分:3)

好的,所以经过一些阅读后,我认为分类器是

的方式

来自maven docs

  

分类器:   分类器允许区分从相同POM构建但其内容不同的工件。它是一些可选的任意字符串 - 如果存在 - 将附加到版本号之后的工件名称。   作为此元素的动机,请考虑一个项目,该项目提供针对JRE 1.5的工件,但同时也是一个仍支持JRE 1.4的工件。第一个工件可以配备分类器jdk15,第二个工件可以配备jdk14,以便客户可以选择使用哪个。

然后在项目C's pom中解决强制一个jar而不是另一个jar的问题,使用<dependencyManagement>部分并在那里指定分类器。

希望这有帮助

答案 1 :(得分:0)

你必须在pom.xml文件中声明java编译器版本:

<build>
    <finalName>skremm_mobile_web</finalName>
    <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>
            </configuration>
        </plugin>
    </plugins>
</build>