java - 找不到或加载主类 sec java
问题描述
文件名 first.java
package p1;
public class first
{
int a;
public void display()
{
System.out.println(a);
}
}
第二个文件 sec.java
package p2;
import p1.first;
class sec
{
public static void main(String args[])
{
first obj=new first();
obj.display();
}
}
编译后尝试运行时出现此错误
版权所有 (C) 微软公司。版权所有。
PS C:\Users\shaik\Documents\Java> javac -d C:\Users\shaik\Documents\Java first.java
PS C:\Users\shaik\Documents\Java> javac -d C:\Users\shaik\Documents\Java sec.java
PS C:\Users\shaik\Documents\Java> java -classpath C:\Users\shaik\Documents\Java sec
Error: Could not find or load main class sec
解决方案
文件结构必须匹配包结构。您需要一些我们称之为“sourcebase”的目录,其中包含一个名为 的目录p1
,并且在该目录中需要一个名为first.java
.
然后要在编译后运行此代码,您需要一个我们称之为“classbase”的目录,其中包含一个名为 的目录p1
,其中包含一个名为first.class
. 你的二级课程也是如此。一旦你拥有了所有这些,你可以运行:
java -classpath classbase p2.sec
另请注意,您的班级名称是p2.sec
. 不是sec
。再多的classpath finagling 甚至都不会java sec
运行你的应用程序。在源代码中,如果您在同一个包中(so, p2
),或者您import p2.sec;
在顶部有一个语句,您只需键入sec
to 引用,p2.sec
但在其他任何地方,包括作为java
应用程序的参数,它都被称为p2.sec
.
推荐阅读
- python - 使用重写的保存方法同步 Django 模型
- objective-c - 那么在apple TV 4k Gen 2上检测新的后退按钮的方法是什么
- reactjs - React 测试库 - “messageParent”只能在工作人员内部使用
- javascript - 反应打字稿组件意外的令牌,预期的“{”
- git - 截断给定文件的历史记录
- python - 在 Raspberry Pi 上运行带有嵌入式 matlab 代码的 python
- powerbi - 使用按钮和书签在 PowerBI 中调整视觉对象的大小
- r - 从网页下载所有 R zip 包
- jquery - 如何在 Google 可视化圆环图上获取正确的图例标签
- python - 单击 django 中的按钮时对元素进行排序