首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java调用同一包中另一个类中的类

java调用同一包中另一个类中的类
EN

Stack Overflow用户
提问于 2019-12-15 19:38:42
回答 1查看 58关注 0票数 1

所以我遵循了这个教程:https://spring.io/guides/gs/maven/

我克隆了他们的软件存储库,以免输入错误。当我使用javac编译Greeter.java,然后使用java运行HelloWorld.java文件时,代码无法工作,它给出了以下错误:

代码语言:javascript
复制
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命令对其进行编译的问题也是如此。

添加工程的目录结构

代码语言:javascript
复制
pom.xml src     target

./src:
main

./src/main:
java

./src/main/java:
hello

./src/main/java/hello:
Greeter.java    HelloWorld.java
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-15 19:49:55

我假设您在src/test/java/hello目录中尝试编译源代码。这是错误的目录,您必须从目录src/test/java执行此操作,并将目录(即软件包)传递给编译器,例如

代码语言:javascript
复制
javac hello/*.java

另一个原因可能是您没有编译Greeter.java,因此编译器在编译Hello.java时找不到类文件。上面的命令应该可以解决这个问题。

如果hello中有一个main方法,运行java hello/name-of-file.java来运行您的main方法。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59343537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档