美文网首页
java project---exe

java project---exe

作者: F的平方 | 来源:发表于2019-04-24 13:58 被阅读0次

    java项目打包后,无法显示图片或无法读取文件问题解决方案

    在项目中使用到了图片,可以将图片放在src文件夹的外部,也可以将图片放在src文件夹的内部. 

    1.图片放在src文件夹外部的,在.jar文件同级目录下,放入图片所在的文件夹,即可解决图片无法显示的问题. 

    2.图片放在src文件夹内部的, 

    首先在build成.jar文件或者通过eclipse export成.jar文件时,配置

    一个ant的build.xml文件,在这

    一块里面,将image文件夹COPY进class文件的文件夹(这一块的写法请参考ANT脚本的写法).这样即可将图片build进.jar文件

    然后,用以下方法处理图片,即可保证图片能够正常显示.

    ClassLoader cl =this.getClass().getClassLoader();

    URL iconURL = cl.getResource("com/hadeslee/yoyoplayer/pic/player/icon.png");

    InputStream is = cl.getResourceAsStream("com/hadeslee/yoyoplayer/pic/player/icon.png");

    if(iconURL !=null) {

    //注意,被打包进jar文件的资源,是不能通过路径来读取的

        //需要读取该资源时,可以通过URL和InputStream来进行,具体使用如下

        ImageIcon jlguiIcon = new ImageIcon(iconURL); 

        ImageLoader imageloader = new ImageLoader();

        ImageData[] imageDatas = loader.load(is);

        setIconImage(jlguiIcon.getImage()); 

        config.setIconParent(jlguiIcon); 

    之前使用图片,比如用放在image里的图片1.jpg,一直都是用ImageIcon imp = new ImageIcon("image/1.jpg"),结果把类与资源图片打包成一个jar包后,图片总是不能显示,只有使image与jar包在同一目录下才能正常显示图片,原因是,当打包成jar后,image/1.jpg就是在.jar文件里面,对于操作系统来说,是不能将一个文件当成一个目录来继续生成路径的.。现在通过使用URL类,即可保证程序图片的正确显示.如果资源被打包进JAR文件,则不能通过路径来获取文件,如果需要操作文件,可以使用URL或者InputStream来进行.

    其实不仅仅是图片,打包成.jar文件后,那些被打包进.jar文件的资源都不能正常访问.关于这一部分内容,请阅读【解惑】深入jar包:从jar包中读取资源文件[url]http://www.iteye.com/topic/483115[/url]


    MyEclipse 导出 runable Jar 再导出exe 文件:

    参考群文件↑


    https://wenku.baidu.com/view/50334e4dcf84b9d528ea7a37.html

    相关文章

      网友评论

          本文标题:java project---exe

          本文链接:https://www.haomeiwen.com/subject/uicggqtx.html