java - maven 编译器插件 2.0.2

标签 java maven

能否请您告诉我是否必须在我的 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/

相关文章:

javascript - 如何将 wro4j 与 Closure 库和编译器一起使用?

maven - Nexus 找不到项目 pom.xml 的签名

java - 为什么我的 HashMap 代码打印为空?

java - 无法在java程序中运行.bat文件

java - 在 IntelliJ IDEA 中测试小代码片段的快捷方式?

java - 使用 JNDI 作为我的数据源和属性文件的位置

java - Thymeleaf 在已成功连接的 URL 上抛出 404?这种绑定(bind)正确吗?

java - 如何在selenium中通过browsermob-proxy处理Edge浏览器的SSL证书

java - Google 应用引擎无法创建 DevAppServer

java - 如何使用 slf4j 和不同的日志实用程序设置 4 个 Maven 项目?