【问题标题】:Unable to run packaged TestMain.java无法运行打包的 TestMain.java
【发布时间】:2016-03-12 20:43:35
【问题描述】:

我在我的包programapper 中制作Java 文件,并且在每个文件的顶部都有package programapper;。其中一个文件名为TestMain.java

package programapper;

import java.util.*;
import java.util.List.*;
import java.lang.*;
import java.io.*;

class TestMain {
  public static void main(String args[]) {
    String filename = null;
    System.out.print("File to read: ");
    Scanner in = new Scanner(System.in);
  }
}

每当我编译时,我就会运行

javac -d . *.java

这编译得很好,我的所有 .java 文件都留在了我的主 Programapper/ 目录中,然后我有了 Programapper/programapper,我的所有类文件都存储在其中。

然后我无法加载该类并运行其主要功能。我正在使用

java -classpath .:programapper/ programapper.TestMain

我也尝试过使用

java -classpath .:programapper/ TestMain

我收到的错误是Error: Could not find or load main class programapper.TestMain

【问题讨论】:

    标签: java classpath packages javac


    【解决方案1】:

    你需要创建类public:

    public class TestMain {
        ...
    

    如果省略可见性,则只能从同一包中的类访问该类。这对于主类来说是不够的。

    此外,您需要将类路径指定为“.”,而不是只指定类名。并指定完整的类,包括包:

    java -classpath . programapper.TestMain
    

    【讨论】:

    • 啊...我想通了。我在想类路径错误。将其更改为 java -cp . programapper/TestMain 有效
    • lol 看起来我在您进行最后一次编辑时就已经猜到了 ;)
    猜你喜欢
    • 1970-01-01
    • 2021-06-15
    • 1970-01-01
    • 1970-01-01
    • 2017-03-03
    • 2017-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多