在这里似乎有两个问题:

>如何让NetBeans在构建项目时将jar包含在生成的jar中?

>如何从jar中访问映像文件?

此应用程序适用于NetBeans 6.8并解决了两个方面的问题.

假设您有一个基于ant的Java应用程序项目.

这是项目的“文件”视图

JP

+ images

+ test.jpg

+ nbproject

+ src

+ jp

+ Main.java

+ test

+ build.xml

+ manifest.mf

在你的Main.java里面,你有这样的代码:

public static void main(String[] args) throws IOException {

// find the file in the file system.. probably not a good idea

File f = new File("images/test.jpg");

System.out.println(f.getCanonicalPath()+" "+f.exists());

当您从NB内部运行此项目时,您将得到以下输出:

/export/home/vkraemer/NetBeansProjects/JavaApplication2/images/test.jpg true

当你运行代码包装到jar中时,你会得到这样的东西:

bash-3.2$pwd

/export/home/vkraemer/nbhg/web-main

bash-3.2$java -jar /export/home/vkraemer/NetBeansProjects/JavaApplication2/dist/JavaApplication2.jar

/export/home/vkraemer/nbhg/web-main/images/test.txt false

为了在执行jar时获得更好的效果,您需要执行以下操作:

将images目录添加为项目的源根目录.

右键单击该项目并选择“属性”项.将出现一个对话框.

在对话框左侧的列表中选择“来源”.这将改变对话框右侧面板的内容.

按“源包文件夹”表旁边显示的“添加文件夹…”按钮.将出现一个FileChooser.

使用此选择器选择图像文件夹,然后按OK按钮.图像文件夹的条目将被添加表.

使用“项目属性”对话框中的“确定”按钮接受更改并关闭对话框.

public static void main(String[] args) throws IOException {

// find the file in the file system.. probably not a good idea

File f = new File("images/test.jpg");

System.out.println(f.getCanonicalPath()+" "+f.exists());

URL url = Main.class.getResource("/test.jpg");

System.out.println(url);

当您从IDE内部运行项目时,您应该看到如下:

/export/home/vkraemer/NetBeansProjects/JavaApplication2/images/test.jpg true

file:/export/home/vkraemer/NetBeansProjects/JavaApplication2/images/test.jpg

当你运行代码包装到jar中时,你会得到这样的东西:

bash-3.2$pwd

/export/home/vkraemer/nbhg/web-main

bash-3.2$java -jar /export/home/vkraemer/NetBeansProjects/JavaApplication2/dist/JavaApplication2.jar

/export/home/vkraemer/nbhg/web-main/images/test.jpg false

jar:file:/export/home/vkraemer/NetBeansProjects/JavaApplication2/dist/JavaApplication2.jar!/test.jpg

获取test.jpg文件的URL后,可以使用ImageIcon(URL)创建图标

java 捆绑_java – 如何在jar文件中捆绑图像相关推荐

  1. java 字符串查找程序_java-如何在JAR文件中搜索字符串

    java-如何在JAR文件中搜索字符串 我的应用程序基于Java EE构建. 我在此应用程序中大约有50个罐子. 是否可以搜索特定的关键字(实际上我想搜索关键字BEGIN REQUEST)? user ...

  2. 易语言 图片插入超级列表框_新手教程!如何在PDF文件中插入图像

    每当在工作中收到一份PDF文件时,只要没有图片,阅读起来就会非常的枯燥无味,长时间的阅读还会带来睡意,而图片的使用能够更好的提高文件的阅读性.所以图片与文字的相配才是完整的一份PDF文件.但是PDF文 ...

  3. 新手教程!如何在PDF文件中插入图像

    每当在工作中收到一份PDF文件时,只要没有图片,阅读起来就会非常的枯燥无味,长时间的阅读还会带来睡意,而图片的使用能够更好的提高文件的阅读性.所以图片与文字的相配才是完整的一份PDF文件.但是PDF文 ...

  4. java程序中日志jar包的使用_java – 如何使用jar文件中的Liquibase changelog

    我目前在我的application.properties中有以下内容: liquibase.change日志=类路径:/db/changelog/db.changelog-master.xml 该文件 ...

  5. idea上如何跑java程序_java – 如何在Intellij IDEA中运行Applet?

    我正在尝试为我的网络课程运行 these applets.当我尝试在浏览器中从链接运行这些时,他们什么也没做.所以我决定尝试在IntelliJ中编译它们,但是当我运行代码时它没有做任何事情.没有返回错 ...

  6. doc无法编译java文件_java编译成jar文件.doc

    java编译成jar文件 Java程序打包成jar包 (2012-06-08 10:28:23) 转载▼ 标签: 分类: 方法一:通过jar命令 jar命令的用法: 下面是jar命令的帮助说明: 用法 ...

  7. 无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:[http://java.sun.com/jsp/jstl/core]

    无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:[http://java.sun.com/jsp/jstl/core] jsp中出错提示: The absolute uri: h ...

  8. java resources 目录_[Java] 在 jar 文件中读取 resources 目录下的文件

    注意两点: 1. 将资源目录添加到 build path,确保该目录下的文件被拷贝到 jar 文件中. 2. jar 内部的东西,可以当作 stream 来读取,但不应该当作 file 来读取. 例子 ...

  9. java pdf添加透明水印_如何在PDF文件中添加透明水印

    原标题:如何在PDF文件中添加透明水印 有些文件添加水印,但是又不想水印影响文件的使用有时候会设置透明水印,那么PDF怎么设置透明水印呢,应该有很多的小伙伴们都很好奇应该怎么做吧,接下来就为大家分享一 ...

最新文章

  1. python3x 中如何使用tkMessageBox
  2. java jnlp被阻止_JNLP应使用特定的Java版本,但会出现错误结果
  3. 转: 回车(CR)与换行(LF), '\r'和'\n'的区别
  4. 5-Error:failed to find Build Tools revision 28.0.0 rc1解决方案
  5. Spring Data JPA 从入门到精通~@EntityListeners注解示例
  6. 数据挖掘之数理统计与常见分布与假设检验
  7. 2006最新版个人所得税计算器
  8. 1)python,现在用过的,后面推出每日练习语法与深度挖掘应用
  9. 用Javascript实现Repeater
  10. IIS下载无后缀文件的设置
  11. coreos 安装 mysql_在CoreOS下部署WordPress实例教程
  12. 基于arm嵌入式linux毕业设计,本科毕业论文--基于arm的嵌入式系统设计.doc
  13. 加拿大卡尔顿大学两个月进阶java—2
  14. 如何制作网页教程:如何制作网页最简单的方法
  15. 基于C语言扫雷游戏的设计与实现
  16. Ultra Light Waterproof Jacket 2014 Warm down Coats Cheap
  17. 谷歌浏览器在新页面打开_如何在Google文档中更改页面方向
  18. Mysql:报错:error while loading shared libraries: libaio.so.1:
  19. python学习 字典
  20. 免费学习coursera的课程的操作办法

热门文章

  1. 心得 : 面向对象和面向过程的区别【分享】
  2. Javascript实现合并单元格
  3. QT —— 应用程序发布
  4. cython python3_30倍!使用Cython加速Python代码
  5. Python实现访问者模式
  6. TemplateSyntaxError at XXXX或页面样式未生效
  7. 办公室分配方案python_Python自动化办公室(1),python,一
  8. react-router的使用(三)——路由的嵌套
  9. 十二、一篇文章帮助你快速读懂MySQL索引(B树、B+树详解)
  10. 机智的ensemble