A. java工程打包部署到linux下根据url找jar包里的文件找不到,请教。
方法不抄对
你看,你第一袭个里没有jar出现.
file:/E:/ainbs2_ln/html/WEB-INF/classes/com/syncdatamanage/bo/SyncDataLog.bo
这相当于在本在磁盘里找文件,而不是jar里.
那这样,你的第二种方法就不对了.
URL url = getClass().getResource("/org/xxxxxxxx/bbbbb/cccccc");
你是这样的吗?
如果这样,是不对的,这样只是取得当前运行目录下的文件.
如果想得到jar文件里的文件,需要用
JarFile jar = new JarFile(file);
相当于解析压缩包的方式来找到文件.
B. 生成可运行jar包,老是显示找不到指定文件
你都生成了JAR文件了,那就意味着相对路径就是变了
楼主建议你用绝对路径, 例如 "C:\Users\haha\Desktop\OBJC\0.txt"
这样就不会有错了。。。
有些编译器不同就会出错
出错就用 "C:\\Users\\haha\\Desktop\\OBJC\\0.txt"
C. 我用eclipse打得jar包怎么运行时找不到资源文件
如果只是读取的话解决很简单,读取jar文件中的内容是有特定语法的。做个比较
1.普通windows文件系统:
file:\D:\MapMole\img\map\map.jpg //你一定要在这个路径上有文件才能读写
2.jar文件中的文件:
jar:file:\D:\MapMole.jar!\img\map\map.jpg
区别一眼就看出来了(2中有jar前缀,并且有'!')。
给你一个获取输入流的方法:
URL url=new URL("jar:file:\D:\MapMole.jar!\img\map\map.jpg");
InputStream is=url.openStream();
但我看你的意思是要往jar里面写入数据。
我不建议这么做,你最好把上传的文件放到另一个文件或文件夹中,就像没有哪个exe文件把上传的文件放到自己的exe中。我没这么做过,如果你硬要往里写肯定会遇到“文件已在另一个系统中打开”之类的错误。
如果你喜欢写到jar这种压缩文件中其实不难,jar就是用的zip压缩,具体内容一查就了解了。
我还是建议你构造一个合理的目录结构,比如一般的游戏:
./map/*
./data/*
./save/*
./start.jar
这样不是挺好的吗
D. 运行jar文件失败classpath下的资源文件找不到
ApplicationContext act = new (
"classpath:applicationContext.xml"); 这一句话, 你打包完了之后,它在load applicationContext.xml 的时候 路径变了。
实在找不到对的路径, 就把那专个配置文属件拿出来,hard code 写进去(仅仅 做testing)
E. 工程中引入第三方JAR包后安装APK时老是提示找不到库文件
在android的工程根目录下创建libs文件夹,点击此文件夹,然后将你的第三方包引入即可。(如果直接粘贴进入不行,请用构建路径引入)
F. [java]打包成jar之后找不到文件FileNotFoundException
Java在WEB项目中获取文件路径 .
jsp中获得文件路径servlet中获得文件路径java中获得文件路径jsp中获得文件路径
1、根目录所对应的绝对路径:request.getRequestURI();
2、文件的绝对路径:application.getRealPath(request.getRequestURI())
3、当前web应用的绝对路径:application.getRealPath("/")
4、取得请求文件的上层目录:
newFile(application.getRealPath(request.getRequestURI())).getParent()
servlet中获得文件路径
1、根目录所对应的绝对路径:request.getServletPath()
2、文件的绝对路径:
request.getSession().getServletContext().getRealPath(request.getRequestURI())
3、当前web应用的绝对路径:servletConfig.getServletContext().getRealPath("/")
注:ServletContext对象获得几种方式:
javax.servlet.http.HttpSession.getServletContext()
javax.servlet.jsp.PageContext.getServletContext()
javax.servlet.ServletConfig.getServletContext()
java中获得文件路径
1、Thread.currentThread().getContextClassLoader().getResource("").toURI().getPath()
2、MyClass.class.getClassLoader().getResource("").toURI().getPath()
3、ClassLoader.getSystemResource("").toURI().getPath()
4、MyClass.class.getResource("").toURI().getPath()
5、MyClass.class.getResource("/").toURI().getPath()
6、newFile("/").getAbsolutePath().toURI().getPath()
7、System.getProperty("user.dir").toURI().getPath()
希望能帮到你
G. JAVA读取了本地TXT,但是导出JAR并运行时提示系统找不到指定路径求助
在编写代码时使用的是绝对路径来访问的这个文件,然而这个文件是在jar包中的,jar包中有自己的一套Url编址:jar:<url>!/{entry})。所以导致运行时无法访问到文件。
解决办法就是在构造File对象时使用url来构造,而文件的url获取使用ClassLoader.
URL fileURL=this.getClass().getResource("0.txt");
File file = new File(fileURL);
FileInputStream fis = new FileInputStream(file);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(fis));