结构是
www是一个包含更改Spark文件的文件夹,所以我使用
externalStaticFileLocation("www");
我跑的时候
java -jar program.jar
http://localhost:8080/index.html有效
当我双击启动jar时
未找到网址返回404。
任何可以帮助我的人?
谢谢
答案 0 :(得分:0)
我通常使用externalStaticFileLocation
修改强>
我还有一个应用程序,为了开发目的,我获取了执行jar的路径。对你而言,我认为一个很好的解决方案是:
声明一个字符串,在我的应用程序中它是一个常量
public static final String STATIC_FILES_LOCATION_DEV;
创建File实例并获取当前目录,然后连接www
目录
File f = new File("");
STATIC_FILES_LOCATION_DEV = f.getAbsolutePath()
+ "/../www";
将它用作资源目录:
externalStaticFileLocation(STATIC_FILES_LOCATION_DEV);
就是这样。
答案 1 :(得分:0)
我的回答是这个
private static String getWWWDir() {
String dir = new File("").getAbsolutePath() + "/www";
File file = new File(dir);
if(file.exists() && file.isDirectory()) {
return file.getAbsolutePath();
}
else
{
String tmpDir = API.class.getProtectionDomain().getCodeSource().getLocation().getFile();
file = new File(tmpDir);
dir = file.getParent() + "/www";
file = new File(dir);
if(file.exists() && file.isDirectory()) {
return file.getAbsolutePath();
}
}
return null;
}
我知道它不漂亮,但对我有用。
感谢你们的帮助