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

Maven Java源代码是1.3而不是1.8[重复]

孙元明
2023-03-14

我正在使用Maven和Java Spark构建一个简单的WebService。

package com.mycompany.app;

import static spark.Spark.*;

    public class HelloWorld {
        public static void main(String[] args) {
            get("/hello", (req, res) -> "Hello World");
        }
    }

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.simplerelevance.app</groupId>
      <artifactId>art2</artifactId>
      <packaging>jar</packaging>
      <version>1.0-SNAPSHOT</version>
      <name>art2</name>
      <url>http://maven.apache.org</url>
      <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>3.8.1</version>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>com.sparkjava</groupId>
          <artifactId>spark-core</artifactId>
          <version>2.2</version>
        </dependency>
      </dependencies>
    </project>

当我尝试运行mvn compile时,我的错误是:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile (default-compile) on project art2: Compilation failure: Compilation failure:
[ERROR] /home/pierceg/SR_Repos/ART2/art2_java/art2/src/main/java/com/simplerelevance/app/HelloWorld.java:[3,7] error: static import declarations are not supported in -source 1.3
[ERROR] 
[ERROR] (use -source 5 or higher to enable static import declarations)
[ERROR] /home/pierceg/SR_Repos/ART2/art2_java/art2/src/main/java/com/simplerelevance/app/HelloWorld.java:[7,37] error: lambda expressions are not supported in -source 1.3
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

not supported in-source 1.3短语使我认为我使用的java版本有问题。以前,我得到了相同的错误,但使用的是-source 1.5,因此我将$JAVA_HOME更改为/usr/lib/jvm/java-8-oracle/jre/。这是应该的吗?我的一个同事同意我的观点,即-源应该是1.8。

Apache Maven 3.0.5
Maven home: /usr/share/maven
Java version: 1.8.0_51, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-8-oracle/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.16.0-30-generic", arch: "amd64", family: "unix"

共有1个答案

程谦
2023-03-14

基于这些注释,我更新了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.simplerelevance.app</groupId>
          <artifactId>art2</artifactId>
          <packaging>jar</packaging>
          <version>1.0-SNAPSHOT</version>
          <name>art2</name>
          <url>http://maven.apache.org</url>
          <dependencies>
            <dependency>
              <groupId>junit</groupId>
              <artifactId>junit</artifactId>
              <version>3.8.1</version>
              <scope>test</scope>
            </dependency>
            <dependency>
              <groupId>com.sparkjava</groupId>
              <artifactId>spark-core</artifactId>
              <version>2.2</version>
            </dependency>
          </dependencies>
          <build>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <version>3.3</version>
              <configuration>
                <source>1.8</source>
                <target>1.8</target>
              </configuration>
            </plugin>
          </build>
        </project>

区别在于我在文档末尾添加了 标记之间的所有内容。

 类似资料:
  • 问题内容: 这个IFRAME的标准代码,是否有一种方法可以将src URL替换为Just html代码?所以我的问题很简单,我有一个页面,它加载了来自MySQL的HTML主体,我想在框架中显示该代码,以便使其独立于页面的其余部分,并不受特定边界的限制。 问题答案: 您可以使用数据URL进行此操作。这将整个文档包含在单个HTML字符串中。例如,以下HTML: 可以这样编码: 然后设置为iframe

  • 就像在标题中一样,我试图编译lambda,我使用的是1.8jdk,但我不知道。 证明我真的得到了1.8分: 第1部分: 任何想法为什么我有这样的问题,lambda看起来像这样,但我肯定它的罚款,因为我做的代码从一个教程。 我试图找到解决办法,但真的失败了,这就是我为什么在这里写作的原因。对不起,我的英语不好:)

  • 问题内容: 我试图重构代码,并且遇到了这段代码。您能提出建议中的任何重构方法,请说出您使用的折射方法。 问题答案: 您实际上违反了SRP(单一职责原则),因此,每当添加新语言时,都需要触摸此代码库。 为了避免列出大量,您需要一个松散耦合的设计,其中()行为应在单独的类(如英语等)中实现,如下面的代码所示,该代码使用状态模式: 步骤(1):定义界面 步骤(2):定义实现 步骤(3):修改带对象的方法

  • 问题内容: 我的单元测试与集成测试位于单独的目录树中,但是具有相同的包结构。我的集成测试需要外部资源(例如服务器)可用,但是我的单元测试彼此之间以及与环境之间是完全独立的。 在IntelliJ-IDEA(v7)中,我定义了一个JUnit运行/调试配置,以运行顶层程序包中的所有测试,并且这当然会拾取失败的集成测试。 我想定义一个运行所有单元测试的运行junit配置。有任何想法吗? 问题答案: 答案是

  • 我对IntelliJ有问题--如果我用Ctrl+单击该类,它会显示一个类的“反编译”版本,而不是它的源代码。 这就是我所看到的: 我正在尝试打开常规的JDK源文件。 src.zip没有损坏-我可以通过WinRAR打开它 当将JDK1.8.0_161添加到IntelliJ中时,它会自动找到src.zip。当手动将src.zip添加到jbsdk8u112b287.2_windows_x86 Sourc