当前位置: 首页 > 面试题库 >

Maven:查看编译选项吗?

罗乐意
2023-03-14
问题内容

我试图跟踪此编译错误:

$ mvn compile
...
[ERROR] /.../Reader.java:[14,13] try-with-resources is not supported in -source 1.5
(use -source 7 or higher to enable try-with-resources)

如何-source 1.5在我的Maven编译中找到设置?我使用的是普通香草pom.xml(据我所知)没有设置任何内容。


问题答案:

这是因为您使用的是普通香草pom.xml,所以您会遇到此问题。

默认情况下,maven-compiler-plugin无论您设置为什么,在编译源代码时都会调用,使用Java 5进行编译$JAVA_HOME

还要注意,当前的默认源设置是1.5,默认目标设置是1.5,与运行Maven的JDK无关。

要使用其他编译器版本(例如Java 8),可以设置以下属性:

<properties>
  <maven.compiler.source>1.8</maven.compiler.source>
  <maven.compiler.target>1.8</maven.compiler.target>
</properties>

或直接配置插件:

<plugin>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>3.3</version>
  <configuration>
    <source>1.8</source>
    <target>1.8</target>
  </configuration>
</plugin>


 类似资料:
  • 由于IntelliJ,我发现需要将以下选项传递给:

  • 编译选项 选项 类型 默认值 描述 --allowJs boolean false 允许编译javascript文件。 --allowSyntheticDefaultImports boolean module === "system"或设置了--esModuleInterop 允许从没有设置默认导出的模块中默认导入。这并不影响代码的输出,仅为了类型检查。 --allowUnreachableCo

  • TypeScript 提供了很多不同功能的编译选项,既可以通过配置 tsconfig.json 文件中的 compilerOptions 属性来实现编译,也可以使用在 tsc 命令后跟随参数这形式,直接编译 .ts 文件。 注意: 当命令行上指定了输入文件时,tsconfig.json 文件会被忽略。 1. 慕课解释 我们通过编译选项 --watch 为例,在当前目录创建 main.ts 文件,写

  • 我想在我的linux终端上编译一个Netbeans Maven-Java应用程序。 这是因为我想使用Git CVS并能够在独立于IDE的服务器中编译项目。 但我很难真正理解依赖关系是如何工作的,或者我就是这么想的。 我正在使用一个简单的java应用程序代码连接到mysql数据库并获取一些信息。 我正在使用此代码: 然后将mysql连接器java添加到项目依赖项pom中。xml如下所示: 如果我将n

  • 我有一个Java FX项目,正在使用maven 3.0.5进行构建。当我运行mvn package/install时,项目失败并抱怨包javafx.*不存在。据我所知,Javafx是用Java1.7封装的,所以构建过程中不采用这一点是没有意义的。当我在IDE(intellij)中编译它时,它工作得很好,然后我的maven构建也成功安装了,但是我不希望每次进行干净的安装时都要经历IDE。有什么想法吗

  • android { compileOptions { sourceCompatibility = "1.6" targetCompatibility = "1.6" } } 默认值是“1.6”。这个设置将影响所有task编译Java源代码。