"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
我刚开始使用 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