当前位置: 首页 > 知识库问答 >
问题:

maven中的neo4j EmbeddedNeo4j.java资源尝试错误

席兴朝
2023-03-14

我试图运行Neo4j手册第32章中的第一个示例,关于使用嵌入在Java应用程序中的Neo4j,该文件是嵌入式Neo4j.java,我正在使用maven,具有适当的Neo4j依赖项。我收到一个编译错误,似乎表明我正在使用Java 1.5,但我看到的所有内容都告诉我我正在使用Java 1.7。

错误如下:

EmbeddedNeo4j.java:[71,12] error: try-with-resources is not supported in -source 1.5

以下是我认为Maven应该使用Java 1.7的原因:

[root@cerift02]#mvn-版本
Apache Maven 3.0.5(r01de14724cdef164cd33c7c8c2fe155faf9602da;2013-02-19 13:51:28 0000)
Maven home:/opt/Apache-Maven-3.0.5
Java版本:1.7.0_21,供应商:Oracle Corporation
Java home:/usr/Java/jdk1.7.0_21/jre
默认语言环境:en_US,平台编码:UTF-8
操作系统名称:“linux”,版本:“3.9.3-x86-linode52”,arch:“i386“,系列:”unix“
[root@cerift02】#

有什么建议可以帮助我追踪为什么会出现这个错误吗?

共有1个答案

阳俊德
2023-03-14

有没有告诉Maven使用Java 1.7兼容模式?

如果没有,请尝试将其添加到pom.xml中:

<build>
  <plugins>
     <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
           <source>1.7</source>
           <target>1.7</target>
        </configuration>
     </plugin>
  </plugins>
</build>
 类似资料:
  • 我的系统中有以下配置: Apache Maven 3.5.2 Maven主页: /usr/share/mavenJava版本:1.8.0_162,供应商:Oracle CorporationJava主页: /usr/lib/jvm/java-8-openjdk-amd64/jre默认语言环境:en_US,平台编码:UTF-8操作系统名称:"linux",版本:"4.15.0-20-通用", arc

  • 问题内容: 我是的新手,我想知道对于资源来说,我是否必须为每个添加一个,否则它将与上面的代码一起使用 问题答案: 通过在 块中声明所有资源,可以尝试将资源与多个资源一起使用,并且此功能是 Java 7中 引入的,而不是 Java 8中 引入的。如果有多个资源,则可以如下所示 在此示例中,该语句包含两个用分号分隔的声明: ZipFile 和 BufferedWriter 。当它紧随其后的代码块终止时

  • 问题内容: 我一直在看代码,并且看到了尝试资源的机会。我以前使用过标准的try-catch语句,看起来它们在做同样的事情。所以我的问题是“ 尝试使用资源”与“尝试捕获 ”之间的区别是什么,哪个更好。 这是尝试使用资源: 问题答案: 尝试使用资源的重点是确保可靠地关闭资源。 当你不使用try-with-resources时,存在一个潜在的陷阱,称为异常屏蔽。当try块中的代码引发异常,而finall

  • 当我试图用Kotlin编写一个与Java-with-resources代码等效的代码时,它对我不起作用。 但两者都不起作用。 有人知道应该用什么代替吗?显然Kotlin语法对这种结构没有定义,但也许我遗漏了什么。它为try块定义语法如下:

  • 我需要打开N个多播套接字(其中N来自参数列表的大小)。然后,我将向循环中的N个套接字中的每个套接字发送相同的数据,最后关闭每个套接字。我的问题是,如何使用try with resources块来实现这一点?以下是我将如何使用单个资源来实现这一点: 我能想到的使用多个端口执行此操作的唯一方法如下: 有没有一种更简洁的方法来实现这一点,或者我提出的解决方案是否尽可能好?

  • 问题内容: 我在Netbeans 7.1.2中具有以下代码: 警告表明我“转换为尝试资源”。当我选择执行此操作时,我的代码将变为: 这看起来类似于C#中using(…)的语法…它们的工作方式相同吗?使用第二种格式是否有不利之处?我担心缺少,但是使用这种格式是否完全没有必要? 问题答案: 这是Java 7中引入的一种新语法,用于关闭声明语句时指定的所有资源。更多信息可以在这里找到。 所以不,您不必执