"Cannot find symbol" 创建对象实例时出错

"Cannot find symbol" error when creating an instance of an object

我刚开始使用 Maven 并且有一个项目,我在其中尝试创建一个对象的实例但不断收到错误消息:

error: cannot find symbol
        CommentProcessor p = new CommentProcessor();
        ^
  symbol:   class CommentProcessor
  location: class App

我有文件:

App.java

package com.group.pack;

public class App {

  public static void main(String[] args) {

    CommentProcessor p = new CommentProcessor();
    p.connect();

   }
}

CommentProcessor.java

package com.group.pack;

public class CommentProcessor {

  public CommentProcessor(){

  }

  public void connect(){
    ...
  }

}

App.java 和 commentProcessor.java 都在 src/main/java/com.group/pack

如果我在没有包的情况下将文件取出到一个单独的项目中(并且不使用 maven),它将编译而不会出现任何问题。这与 Maven 的工作方式有关吗? 我也试过创建一个 jar 文件,但这也行不通。

这是 VSCode 生成的 pom:

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>

  <!-- The Basics -->
  <groupId>com.group.pack</groupId>
  <artifactId>pack</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>pack</name>
  <url>http://maven.apache.org</url>

  <properties>
    <maven.compiler.release>11</maven.compiler.release>
  </properties>

  <dependencies>
    <!-- https://mvnrepository.com/artifact/junit/junit -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

<!-- Build Settings -->
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.1</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>

我重新创建了一个模拟项目,没有发现任何问题。尝试重新创建一个简单的模拟项目。

注意:

我注意到您的 pom.xml 文件中存在问题。 当你创建一个 jar 文件时,你将需要创建一个具有依赖关系的 jar