所以我遵循了这个教程:https://spring.io/guides/gs/maven/
我克隆了他们的软件存储库,以免输入错误。当我使用javac编译Greeter.java,然后使用java运行HelloWorld.java文件时,代码无法工作,它给出了以下错误:
HelloWorld.java:5: error: cannot find symbol
Greeter greeter = new Greeter();
^
symbol: class Greeter
location: class HelloWorld
HelloWorld.java:5: error: cannot find symbol
Greeter greeter = new Greeter();
^
symbol: class Greeter
location: class HelloWorld
2 errors我尝试使用ìmport hello.Greeter显式地将Greeter导入到HelloWorld中,当我在没有package hello;语句的情况下运行它时,代码运行得很好。
你知道为什么我会收到这个错误吗?
因此,我继续学习本教程,并使用mvn package命令和生成的jar文件来运行项目。
尝试在命令行中使用java命令对其进行编译的问题也是如此。
添加工程的目录结构
pom.xml src target
./src:
main
./src/main:
java
./src/main/java:
hello
./src/main/java/hello:
Greeter.java HelloWorld.java发布于 2019-12-15 19:49:55
我假设您在src/test/java/hello目录中尝试编译源代码。这是错误的目录,您必须从目录src/test/java执行此操作,并将目录(即软件包)传递给编译器,例如
javac hello/*.java另一个原因可能是您没有编译Greeter.java,因此编译器在编译Hello.java时找不到类文件。上面的命令应该可以解决这个问题。
如果hello中有一个main方法,运行java hello/name-of-file.java来运行您的main方法。
https://stackoverflow.com/questions/59343537
复制相似问题