我正在处理不属于我的代码,我希望能够使用cmd在其他计算机上运行它。 在日食上我们使用这个
MazeWritable maze = new MazeWritable("layouts/mediumClassic.lay");
引用布局,如果我通过不同的调用,它会像这样:
public MazeWritable(String filename) throws MazeException
{
super(filename);
}
然后超级去
public Maze(String filename) throws MazeException
{
try{
System.out.println("Layout file is "+filename);
//Lecture du fichier pour déterminer la taille du maze
InputStream ips=new FileInputStream(filename);
InputStreamReader ipsr=new InputStreamReader(ips);
BufferedReader br=new BufferedReader(ipsr);
当我尝试使用eclipse制作我的项目的可运行jar时,它不包含文件布局/,它在项目旁边的引用库中,即使我尝试将其放入cmd中它不想看到它,有什么我错过了吗? 我尝试使用清单,但它不起作用(我不确定我在做什么)。
谢谢
答案 0 :(得分:0)
您有两种选择:
将layouts
文件夹放在JAR文件的根目录中,并尝试将其作为资源加载:
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
InputStream input = classLoader.getResourceAsStream("layouts/mediumClassic.lay");
将layouts
文件夹放在JAR文件之外,并像加载资源一样加载资源。
我更喜欢第二个版本,但是如果你想将所有东西打包在一起,你应该选择第一个版本。