java - 编译 2 包时无法访问文件
问题描述
我是新手,自学Java 2个月。我经常使用命令行来运行文件,因为我使用的是 Atom IDE。我只想编译 2 个简单的包“package1”和“package2”。像图像一样,这两个包和一个文件夹名称目标(用于编译)在“part3”文件夹中。在 package1 中有一个文件名 mygoal1.java。package2 中是我的主文件名 program2.java。在我的主文件中,我执行“Import package1.mygoal1”,当我运行它时遇到这些错误:
javac -sourcepath "./part3" "./part3/package2/program2.java" -d "./target"
.\part3\package2\program2.java:1: error: cannot access mygoal1
import package1.mygoal1;
bad source file: .\part3\package1\mygoal1.java
file does not contain class package1.mygoal1
Please remove or make sure it appears in the correct subdirectory of the sourcepath.
[在此处输入图片描述][1]
抱歉我的语言不好,我的英语不流利,我只花了 20 分钟写这篇文章,希望并感谢任何帮助 [1]:https ://i.stack.imgur.com/4xYL1.png
解决方案
读取此错误:文件不包含类 package1.mygoal1 -->
我认为您正在尝试“导入”一个不存在的 class 。import 是 java 中用于导入类的关键字(一个 java 文件可以包含多个类,但只能包含一个公共类),因此在文件 mygoal1.java 中您需要编写一个 java 类并将其命名为“mygoal1” .
例子 :
public class mygoal1{
}
稍后您将了解到 import 也可用于导入静态事物(变量或方法)..
推荐阅读
- php - 在一定数量的列之后拆分html表
- java - 端点返回对象而不是直接 JSON
- java - 使用 Java 8 流查找数组中对角线元素的总和
- node.js - Sequelize where option sql injection?
- angular - 模板继承和/或组合
- sql-server-2008 - 如果值不为空,如何通过在每个值之间保留空格来将三列(nvarchar,null)合并为一列(nvarchar)?
- javascript - 将打字稿函数保存为对象变量(Angular 6)
- spring - 来自控制器类的另一个项目中的 Spring Boot 应用程序
- sql - SQL - 使用 CAST 将文本转换为位
- typescript - Angular 6 复选框过滤器