【问题标题】:How to import classes in Java without eclipse?如何在没有 Eclipse 的情况下在 Java 中导入类?
【发布时间】:2012-05-17 22:39:21
【问题描述】:

很抱歉,这似乎是一个基本问题,但我需要有关导入类的帮助。我下载了轻量级 Java 游戏库 (LWJGL),但我不知道如何安装它。当我尝试测试时,它不起作用。

我有一个文件夹,我在其中提取了基本的 LWJGL 文件。我现在有这样的设置:

generic_folder/libs/lwjgl-2.8.3

我也有这个测试,我从 LWJGL wiki 上的教程中复制粘贴: 它位于 generic_folder 中。当我尝试 javac 它时,它说 DisplayExample.java:1: 包 org.lwjgl 不存在。

import org.lwjgl.LWJGLException;
import org.lwjgl.opengl.Display;
import org.lwjgl.opengl.DisplayMode;

public class DisplayExample {

public void start() {
    try {
    Display.setDisplayMode(new DisplayMode(800,600));
    Display.create();
} catch (LWJGLException e) {
    e.printStackTrace();
    System.exit(0);
}

// init OpenGL here

while (!Display.isCloseRequested()) {

    // render OpenGL here

    Display.update();
}

Display.destroy();
}

public static void main(String[] argv) {
    DisplayExample displayExample = new DisplayExample();
displayExample.start();
}

}

我必须将文件放在某个位置还是什么?请帮忙。谢谢!

编辑:对不起。我是 Java 新手。请慢一点。另外,LWJGL 是一个库,所以我没有在里面放任何文件。

【问题讨论】:

    标签: java macos class import lwjgl


    【解决方案1】:
    javac -classpath external.jar myClass.java
    

    更多信息 -> https://stackoverflow.com/a/5112638/5790669

    【讨论】:

      【解决方案2】:

      您需要指定一个类路径(最好使用-cp 开关),以便java/javac 知道在哪里可以找到您需要访问的 .jar 文件。它通常如下所示:

      编译:

      javac -cp .:libs/lwjgl-2.8.3/jar/lwjgl.jar your-java-files
      

      跑步:

      java -cp .:libs/lwjgl-2.8.3/jar/lwjgl.jar your-class-file
      

      (请注意,如果您使用的是 Windows,我认为应该将 : 替换为 ;。)

      【讨论】:

      • 我必须放置一些东西而不是 .: 吗?
      • 这表示找不到文件:DisplayExample.java
      • src 目录中有源文件吗?进入src目录:cd src,使用-cp .:../lib/....并添加-d ../bin开关将类文件写入../bin。
      【解决方案3】:

      当您调用javac 时,您需要将该 jar 添加到您的类路径中,如下所示:

      javac -cp generic_folder/libs/lwjgl-2.8.3.jar path/to/java/file/DisplayExample.java
      

      我假设lwjgl-2.8.3 是 实际上是一个 jar 文件。您从未在问题中指定。

      当您尝试运行您的示例时,您必须再次将 jar 添加到您的类路径中:

      java -cp generic_folder/libs/lwjgl-2.8.3.jar path/to/java/file/DisplayExample
      

      【讨论】:

      • 糟糕,忘记了。 lwjgl-2.8.3 实际上是一个文件夹,里面有几个不同的文件夹。不过,我知道在哪里可以找到正确的 jar 文件。
      【解决方案4】:

      当你运行 javac 时,你需要告诉它 jar 文件在哪里。您可以设置 CLASSPATH 环境变量或将位置传递给 java 编译器。后者更好,因为如果您开始第二个 java 项目,您可能不需要 lwjgl。

      要直接告诉 java 编译器,你可以这样做

      javac -classpath generic_folder/libs/lwjgl-2.8.3/lwjgl.jar DisplayExample.java
      

      类路径可以指向包含类的 jar 文件,也可以指向包含 unjared 类文件的顶级目录。如果未压缩的类在 generic_folder/libs/lwjgl-2.8.3/classes 中,您将指向 generic_folder/libs/lwjgl-2.8.3/classes,而不是 generic_folder/libs/lwjgl-2.8.3/org/lwjgl

      【讨论】:

        【解决方案5】:

        最简单的方法是将 LWJGL 文件夹设置为 CLASSPATH 环境。例如

        设置 CLASSPATH=${PATH_TO}/generic_folder/libs/lwjgl-2.8.3

        应该可以的。

        【讨论】:

        • 我不会依赖环境变量。它使构建过程依赖于系统配置,这可能会让人很困惑。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-06-02
        • 1970-01-01
        • 2012-07-09
        • 2018-11-10
        • 1970-01-01
        • 1970-01-01
        • 2012-11-13
        相关资源
        最近更新 更多