执行jar包找不到静态文件|java工程打包部署到linux下根据url找jar包里的文件找不到请教

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));


赞 (0)