我正在尝试编译这个 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
{
}
}
Run Code Online (Sandbox Code Playgroud)
我按照说明将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类的定义.
您还必须在java命令中添加-classpath选项.不仅是编译器.
喜欢:
javac -classpath .;lib\myjar.jar MyClass.java
Run Code Online (Sandbox Code Playgroud)
然后
java -classpath .;lib\myjar.jar MyClass
Run Code Online (Sandbox Code Playgroud)
否则,解释器(java)将不知道在哪里可以找到所需的类.
| 归档时间: |
|
| 查看次数: |
2680 次 |
| 最近记录: |