我有一个为Java 1.7和Java 1.6编译的maven项目。 1.7 jar是默认的工件,但我不知道如何识别1.6 jar。
我可以为工件ID,版本添加后缀,或者设置分类器。
哪种方式首选?当另一个项目A
依赖于1.7 jar时,项目B
取决于1.6 jar,而项目C
取决于A
和B
?< / p>
答案 0 :(得分:3)
好的,所以经过一些阅读后,我认为分类器是
的方式分类器: 分类器允许区分从相同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>