引用Hibernate的Java桌面程序打包方法
摸索了半天,总算摸索出头绪出来了.
关键点:
1,hibernate.cfg.xml 要放在 jar中
2,配置MANIFAST.MF,设置好Manifest-Version,Main-Class,Class-Path.
关键点:
1,hibernate.cfg.xml 要放在 jar中
2,配置MANIFAST.MF,设置好Manifest-Version,Main-Class,Class-Path.
Manifest-Version: 1.0
Main-Class: MyProject.MyEntryClass
Class-Path: ./hibernate/ant-1.6.5.jar
./hibernate/ant-antlr-1.6.5.jar ./hibernate/ant-junit-1.6.5.jar
./hibernate/ant-launcher-1.6.5.jar ./hibernate/ant-swing-1.6.5.jar
./hibernate/antlr-2.7.5H3.jar ./hibernate/asm-attrs.jar
./hibernate/asm.jar ./hibernate/c3p0-0.9.0.jar
./hibernate/cglib-2.1.2.jar ./hibernate/cleanimports.jar
./hibernate/commons-collections-2.1.1.jar
./hibernate/commons-logging-1.0.4.jar
./hibernate/concurrent-1.3.2.jar ./hibernate/connector.jar
./hibernate/dom4j-1.6.1.jar ./hibernate/ehcache-1.1.jar
./hibernate/hibernate-tools.jar ./hibernate/hibernate3.jar
./hibernate/jaas.jar ./hibernate/jacc-1_0-fr.jar
./hibernate/jaxen-1.1-beta-7.jar ./hibernate/jboss-cache.jar
./hibernate/jboss-common.jar ./hibernate/jboss-jmx.jar
./hibernate/jboss-system.jar ./hibernate/jdbc2_0-stdext.jar
./hibernate/jgroups-2.2.7.jar ./hibernate/jta.jar
./hibernate/junit-3.8.1.jar ./hibernate/log4j-1.2.11.jar
./hibernate/oscache-2.1.jar ./hibernate/proxool-0.8.3.jar
./hibernate/swarmcache-1.0rc2.jar ./hibernate/versioncheck.jar
./hibernate/xerces-2.6.2.jar ./hibernate/xml-apis.jar
Main-Class: MyProject.MyEntryClass
Class-Path: ./hibernate/ant-1.6.5.jar
./hibernate/ant-antlr-1.6.5.jar ./hibernate/ant-junit-1.6.5.jar
./hibernate/ant-launcher-1.6.5.jar ./hibernate/ant-swing-1.6.5.jar
./hibernate/antlr-2.7.5H3.jar ./hibernate/asm-attrs.jar
./hibernate/asm.jar ./hibernate/c3p0-0.9.0.jar
./hibernate/cglib-2.1.2.jar ./hibernate/cleanimports.jar
./hibernate/commons-collections-2.1.1.jar
./hibernate/commons-logging-1.0.4.jar
./hibernate/concurrent-1.3.2.jar ./hibernate/connector.jar
./hibernate/dom4j-1.6.1.jar ./hibernate/ehcache-1.1.jar
./hibernate/hibernate-tools.jar ./hibernate/hibernate3.jar
./hibernate/jaas.jar ./hibernate/jacc-1_0-fr.jar
./hibernate/jaxen-1.1-beta-7.jar ./hibernate/jboss-cache.jar
./hibernate/jboss-common.jar ./hibernate/jboss-jmx.jar
./hibernate/jboss-system.jar ./hibernate/jdbc2_0-stdext.jar
./hibernate/jgroups-2.2.7.jar ./hibernate/jta.jar
./hibernate/junit-3.8.1.jar ./hibernate/log4j-1.2.11.jar
./hibernate/oscache-2.1.jar ./hibernate/proxool-0.8.3.jar
./hibernate/swarmcache-1.0rc2.jar ./hibernate/versioncheck.jar
./hibernate/xerces-2.6.2.jar ./hibernate/xml-apis.jar
注意:
(1)冒号和后面的值中间一定要有一个空格!!!
(2)Class-Path不能太长,否则会报错.如果包实在太多的话,可以换行写.换行时注意新的一行前面要有一个空格!!!
(3)最后一行必须要有一个回车换行!!!!比如上例中如果没最后一个空行,系统会不认Class-Path配置.
3,最好用的工具就是winrar,不要用eclipse export to jar来打包,很不好用.用winrar把文件夹压缩成zip格式,文件后缀改成.jar就成了合法的jar文件,又方便又快捷.
4,小技巧:如果包很多,手写MANIFEST文件很麻烦吧.可以通过cmd进入lib目录,dir,把包名copy到文本文件中.要善于用windows控制台的鼠标拉框copy,每个文件名前那个空格最好也选上,然后批量再替换为需要的目录路径.:P
版权所有,欢迎转载
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义