我的系统中有以下配置:
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-通用", arch:"amd64",系列:"unix"
当我编译(使用maven)我的项目时,我得到以下错误:
/path/driver.java:[29,13] try-with-resources is not supported in -source 1.5
[ERROR] (use -source 7 or higher to enable try-with-resources)
我试图添加标志源7,但这不是解决问题的方法,因为它给我带来了另一个错误:
[ERROR] Error executing Maven.
[ERROR] The specified user settings file does not exist: /path/ource
我在互联网上搜索第一个错误,我什么也没找到
要回答第一部分,请在POM中添加以下行以设置语言级别
<properties>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
</properties>
在添加这些行之后,您可以成功地构建jar,尽管当您运行它时,您的jar将给出一个no main manifest属性错误。
这可以通过运行java-cp应用程序来解决。jar
com。一些包裹。SomeClass
或者,为了纠正这个问题并制作一个可执行的jar,让您的pom看起来像
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>false</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>fully.qualified.main</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
@Ravindra已经建议了一个选项。另一个选项是添加属性。
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
请参阅maven编译器插件参考。
如果您希望使用Java8语言特性(-Source 1.8),并且还希望编译的类与JVM 1.8(-Target 1.8)兼容,您可以添加以下两个属性,这是插件参数:
<project>
[...]
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
[...]
</project>
或者直接配置插件:
<project>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
查看本文了解更多详情。但是在JDK 1.7(内部)版本中引入了尝试资源。
问题内容: 我进行了全新的OSX 10.9.3全新安装并安装了pip,然后执行了 两次安装似乎都非常令人满意,并且运行没有任何错误(尽管有不计其数的警告)。当我尝试使用导入熊猫运行python脚本时,出现以下错误: 如何解决此错误并使熊猫正确加载? 问题答案: 您可以安装熊猫的早期版本。 在我的情况下,它解决了问题…
问题内容: 导入熊猫时,会出现以下错误: 我正在运行Python 2.7.5,Pandas 0.14.1和Numpy 1.9.0。我尝试使用pip安装两种版本的旧版本,每次都会出现重大错误。我是Python的初学者,因此这里的任何帮助将不胜感激。:) 编辑:运行OS X 10.9.4 编辑2:这是我卸载并重新安装Numpy + Pandas,然后运行.py文件的视频的链接:https ://www
问题内容: 当我在Netbeans中构建并运行程序时,它可以正常工作。但是当我尝试“ mvn compile”时,使用相同的pom.xml文件会出现以下错误: 我的Java版本不是1.3,这里是“ mvn -version”的结果 这是第53行: 问题答案: 问题是在Maven2中默认使用和 您可以通过将其添加到pom中来解决此问题: 将其放在最顶层的父pom中是很实际的,这样您派生的pom不需要
编译模块com。实例我的包裹。GWT。HelloGWT [INFO]验证新编译的单元 [INFO]在第一次过程中忽略了1个单元,其中包含编译错误 [INFO]编译时将-strict或-logLevel设置为TRACE或DEBUG以查看所有错误 [INFO]在文件:/home/ilsurih/Projects/maven hibernate/src/main/java/com/example/myP
我试图运行Neo4j手册第32章中的第一个示例,关于使用嵌入在Java应用程序中的Neo4j,该文件是,我正在使用maven,具有适当的Neo4j依赖项。我收到一个编译错误,似乎表明我正在使用Java 1.5,但我看到的所有内容都告诉我我正在使用Java 1.7。 错误如下: 以下是我认为Maven应该使用Java 1.7的原因: [root@cerift02]#mvn-版本 Apache Mav
我想知道,当异常发生时,try with resource语句如何在进入catch块之前关闭资源。当异常发生时,执行立即跳转到catch块。因此,try-with-resource实际上关闭了资源。 为了更好地理解它的工作原理,我决定看看编译器是如何实现它的。我编写了下面的代码并对其进行了编译。 输出 然后我访问了www.javadecompilers.com,并在那里试用了反编译程序。两个反编译