能否请您告诉我是否必须在我的 POM 中指定 maven-compiler-plugin 详细信息:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
如果是,为什么会这样,我明白它的作用,但不确定为什么需要它?没有其他方法可以在 Maven 中调用 javac 吗?
最佳答案
能否请您告诉我是否必须指定 maven-compiler-plugin 详细信息?
没有。但是它将使用 Java 1.3 或石器时代的东西来编译。
如果是,为什么会这样,我明白它的作用,但不确定为什么需要它?
答案是否定的。但这就是原因。您肯定不想在新代码上使用 Java 1.3 进行编译。您想要 Java 5 中的所有新特性。是吗? :) 因此,您必须在已经杂乱无章的 POM 中添加这些额外的行。
有没有其他方法可以在 maven 中调用 javac?
没有。但是即使您没有这个 block ,mvn compile
或任何其他命令也可以工作。但是,如果您的源代码包含 Java 5 中的任何高级内容,但以前版本中没有,编译将失败。
编辑 1
当我有 JDK 5 时,它如何编译为 1.3?
好吧,在 Java 编译器中有一个选项可以设置这样做。请在此处查看 Java 编译器选项:http://docs.oracle.com/javase/1.5.0/docs/tooldocs/windows/javac.html
它说你可以将 source
等设置为旧版本。
关于java - maven 编译器插件 2.0.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11557874/