当前位置:  开发笔记 > 编程语言 > 正文

无法使类路径正确

如何解决《无法使类路径正确》经验,为你挑选了1个好方法。

我正在尝试编译这个 slick2d示例(第一个),但我无法让它工作.这是代码:

import org.newdawn.slick.AppGameContainer;
import org.newdawn.slick.BasicGame;
import org.newdawn.slick.GameContainer;
import org.newdawn.slick.Graphics;
import org.newdawn.slick.SlickException;
/**
 * @author panos
 */
public class WizardGame extends BasicGame
{
    public WizardGame()
    {
        super("Wizard game");
    }

    public static void main(String[] arguments)
    {
        try
        {
            AppGameContainer app = new AppGameContainer(new WizardGame());
            app.setDisplayMode(500, 400, false);
            app.start();
        }
        catch (SlickException e)
        {
            e.printStackTrace();
        }
    }

    @Override
    public void init(GameContainer container) throws SlickException
    {
    }

    @Override
    public void update(GameContainer container, int delta) throws SlickException
    {
    }

    public void render(GameContainer container, Graphics g) throws SlickException
    {
    }
}

我按照说明将lwjgl.jar,slick.jar和ibxm.jar放在目录中.然后我试过:

javac -classpath.; 完整路径\slick.jar.; 完整路径\lwjgl.jar; 完整路径\ibxm.jar

然后

java WizardGame

但我得到的错误是jar类没有定义,这意味着当我设置类路径时必定会出错.我不确定我做错了什么.

我也试过了

javac -classpath.;.\ slick.jar.;.\ lwjgl.jar;.\ ibxm.jar

无论哪种方式,如果jvm与源代码位于同一目录下,它们本身是否应该自行查找.jar文件?在我的例子中,我在与WizardGame.java相同的目录中设置了3个jar.如果我尝试编译没有-classpath参数,它不起作用.

编辑:我按照指示做了,但现在它告诉我"java.library.path中没有lwjgl"

我用winrar检查了我的lwjgl.jar,看到它包含两个文件夹:meta-inf和org,然后在org里面有lwjgl.这应该是那样的吗?因为如果是的话,我不知道什么是错的.

编辑2:使用您所说的创建清单,然后使用:

jar cfm test.jar manifest.txt

这创建了一个jar文件,然后我用了

java -jar test.jar

然后它告诉我它没有找到WizardGame类的定义.



1> OscarRyz..:

您还必须在java命令中添加-classpath选项.不仅是编译器.

喜欢:

javac -classpath .;lib\myjar.jar MyClass.java 

然后

java -classpath .;lib\myjar.jar MyClass

否则,解释器(java)将不知道在哪里可以找到所需的类.

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有