gpt4 book ai didi

java - 为什么maven突然开始使用旧版本的Java进行编译?

转载 作者:行者123 更新时间:2023-12-02 12:19:25 28 4
gpt4 key购买 nike

我已经使用 Maven 进行 Java 开发几天了。今天我根据these instructions编辑了我的pom.xml 。突然运行 mvncompile 给我带来错误,就好像我正在使用旧版本的 java 进行编译一样。诸如此类的东西:

error: generics are not supported in -source 1.3

现在我已将 pom.xml 与其原始内容配对,但我仍然收到此错误。我已经完成了 mvn clean 并删除了目标下的所有内容,但仍然遇到此问题。

这是运行编译阶段的 Maven 片段:

[INFO] Scanning for projects...[INFO]                                                                         [INFO] ------------------------------------------------------------------------[INFO] Building bahToBeh 1.0-SNAPSHOT[INFO] ------------------------------------------------------------------------[INFO] [INFO] --- maven-resources-plugin:2.3:resources (default-resources) @ bahToBeh ---[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent![INFO] skip non existing resourceDirectory /home/doug/lucid/bah-bio-demo/bahToBeh/src/main/resources[INFO] [INFO] --- maven-compiler-plugin:2.0.2:compile (default-compile) @ bahToBeh ---[INFO] Compiling 9 source files to /home/doug/lucid/bah-bio-demo/bahToBeh/target/classes[INFO] ------------------------------------------------------------------------[INFO] BUILD FAILURE[INFO] ------------------------------------------------------------------------[INFO] Total time: 2.880s[INFO] Finished at: Thu Dec 20 13:52:06 EST 2012[INFO] Final Memory: 7M/105M[INFO] ------------------------------------------------------------------------[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile (default-compile) on project bahToBeh: Compilation failure: Compilation failure:[ERROR] /home/doug/lucid/bah-bio-demo/bahToBeh/src/main/java/com/lucid/bahdemo/parsers/pm/MeshReader.java:[23,4] error: generics are not supported in -source 1.3

And my paired-down pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.lucid</groupId>
<artifactId>bahToBeh</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>bahToBeh</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.digitalpebble</groupId>
<artifactId>behemoth-core</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
<version>1.0.4</version>
</dependency>
<dependency>
<groupId>marc4j</groupId>
<artifactId>marc4j</artifactId>
<version>2.4</version>
</dependency>
</dependencies>
</project>

直到今天为止,这一直运行良好。我不确定我可能改变了什么设置,或者我如何毁掉我的项目。我什至仔细检查了是否安装了正确版本的 java:

doug@doug-VirtualBox:~/lucid/bah-bio-demo/bahToBeh$ java -versionjava version "1.7.0_10"Java(TM) SE Runtime Environment (build 1.7.0_10-b18)Java HotSpot(TM) 64-Bit Server VM (build 23.6-b04, mixed mode)doug@doug-VirtualBox:~/lucid/bah-bio-demo/bahToBeh$ javac -versionjavac 1.7.0_10

这里是JAVA_HOME

doug@doug-VirtualBox:~/lucid/bah-bio-demo/bahToBeh$ echo $JAVA_HOME/usr/lib/jvm/java-7-oracle

Maven IS 使用 pom.xml 我认为是的,如果我运行 mvn -Xcompile 我得到:

DEBUG] (f) project = MavenProject: com.lucid:bahToBeh:1.0-SNAPSHOT @ /home/doug/lucid/bah-bio-demo/bahToBeh/pom.xml

我还删除了我的 Maven 存储库 rm -rf ~/.m2 并看到 Maven 重新下载了所有相同的问题。

编辑——它突然神秘地起作用了我不知道发生了什么,但突然间它开始工作了。我认为我改变的一件事是我注释掉了一个测试。我取消了测试的注释,然后运行mvncompile,这次它编译了。某个地方的某些状态不同步,但现在一切神奇地工作了?

我讨厌不知道为什么我的工具突然变得不稳定,所以这不是问题的答案,只是更多信息。

编辑 - 它也突然停止工作看起来完全指定要编译的版本是可行的,所以 dingding 就是赢家。

最佳答案

显式设置源和目标 java 版本。 http://maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-source-and-target.html

<project>
[...]
<build>
[...]
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
[...]
</build>
[...]
</project>

关于java - 为什么maven突然开始使用旧版本的Java进行编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13978679/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com