【问题标题】:Maven project compile error: cannot find symbol (which is java.lang.String)Maven 项目编译错误:找不到符号(即 java.lang.String)
【发布时间】:2023-03-30 23:37:02
【问题描述】:

这是一个非常简单的网页抓取程序,我在 intellij idea 中使用 maven 构建系统构建。它在今天之前运行良好,但是当我今天尝试构建它时,它给了我对象未找到基本 java 对象(如 String 和 List)的错误。当我尝试重新加载 maven 项目时,我在下面遇到另一个错误。 Idea 还用红色突出显示了基本的 java 对象,并且没有给出任何建议。我唯一做的就是稍微修改java源代码。因此,我使用股票 hello world 代码进行了测试。它确实编译并运行了,但 Intellij 仍然以红色突出显示字符串和系统,并且 maven 重新加载会产生相同的错误。非常感谢您的帮助,因为我需要为研究项目获取一些数据。

网页抓取源代码编译错误

Error:(24, 13) java: cannot find symbol
  symbol:   class List
  location: class Main

Maven 重新加载错误

Cannot resolve plugin org.apache.maven.plugins:maven-compiler-plugin:${maven.compiler.version}

这是 pom.xml 文件

<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>htmlunittest</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>net.sourceforge.htmlunit</groupId>
            <artifactId>htmlunit</artifactId>
            <version>2.19</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.7.0</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven.compiler.version}</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>
        </plugins>
    </build>


</project>

【问题讨论】:

  • 进入intellij菜单文件->项目结构->项目设置->选择你的JDK
  • 不幸的是,这不是问题所在。 JDK 是 11。
  • @T0m4t0s4uc3 您是否尝试将其添加到您的 pom 中?

标签: java maven intellij-idea


【解决方案1】:

更新:

解决maven错误后,由于您面临IDE相关问题,我建议您这样做:

  1. 转到文件 > 项目结构

  1. 在 Project SDK 中添加 JDK(如果没有,在 Platform Settings > SDKs 下,您需要添加 JDK)

  1. 还要确保在 Preferences > build tools > maven 中正确设置了 maven home:

  2. 然后从侧面板进行 maven 重建:


您忘记在 POM 中定义属性 ${maven.compiler.version}。

在你的 POM 中定义一个properties 部分,如下所示:

  <properties>
    <java.version>1.11</java.version>
    <maven.compiler.version>3.8.1</maven.compiler.version>
  </properties>

【讨论】:

  • 你能澄清一下我需要做什么吗?老实说,我没有像我需要的那样学习 Maven。只是指出过去使用相同的 POM。我可能在上次运行 Intellij 之前更新了它。
  • 请在您的 POM 中 &lt;version&gt;1.0-SNAPSHOT&lt;/version&gt; 之后添加此部分。如果需要,更改 java 版本
  • 试过了,maven 错误消失了,谢谢。但是,以红色突出显示的对象和源未编译仍然是一个问题。
  • 好的,一个错误消失了。不要删除此properties 我会更新您解决 Intellij 问题所需的内容
  • @T0m4t0s4uc3 你能尝试做所有这些吗?
猜你喜欢
  • 2015-11-06
  • 2019-05-31
  • 1970-01-01
  • 2016-02-17
  • 2015-10-21
  • 1970-01-01
  • 2014-11-19
  • 2011-04-23
  • 1970-01-01
相关资源
最近更新 更多