java程序用在eclipse编写java程序中调试可以运行,但是打包成jar以后连接数据库就失败了

java用eclipse打包成jar后如何不需要控制台窗口20C是一个有gui的jar项目,但我不想运行他时有个黑色窗口。另外,我向只要双击就能运行它,而不是要到命令行去开启Eclipse把Java工
java用eclipse打包成jar后如何不需要控制台窗口
是一个有gui的jar项目,但我不想运行他时有个黑色窗口。另外,我向只要双击就能运行它,而不是要到命令行去开启
解决方案二:
那可以把命令存为bat执行文件,双击bat就能达到你要的效果
解决方案三:
在cmd中直接输入“java -jar xxx.jar”就可以运行这个jar文件,程序的运行结果直接输出到控制台。
而javaw.exe只能运行图形界面程序,不输出控制台信息,而java.exe既可以运行图形界面程序又可以输出控制台信息。
看一下jar文件的默认打开方式是什么。在注册表编辑器中进入HKEY_CLASSES_ROOT.jar,看到打开方式对应于一个叫“jarfile”的项。再定位到HKEY_CLASSES_ROOTjarfileshellopencommand,看到打开jar文件的命令行为
“C:Program FilesJavajdk1.8.0_25injavaw.exe” -jar “%1” %*
如果是javaw.exe的话是不输出控制台的。
也可以写个bat的批处理程序来运行jar文件
start javaw -jar xxx.jar
【云栖快讯】阿里云免费套餐放量周:每天100个免费邀请码,更有坚果pro手机等你来抢&&
为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效率,降低 IT 成本...
RDS是一种稳定可靠、可弹性伸缩的在线数据库服务。支持MySQL、SQL Server、PostgreSQL、高...Eclipse将引用了第三方jar包的Java项目打包成jar文件的两种方法 - zzm - ITeye博客
博客分类:
方案一:用Eclipse自带的Export功能
步骤1:准备主清单文件 “MANIFEST.MF”,
由于是打包引用了第三方jar包的Java项目,故需要自定义配置文件MANIFEST.MF,在该项目下建立文件MANIFEST.MF,内容如下:
Manifest-Version: 1.0
Class-Path: lib/commons-codec.jar lib/commons-httpclient-3.1.jar lib/commons-logging-1.1.jar lib/log4j-1.2.16.jar lib/jackson-all-1.8.5.jar
Main-Class: main.KillCheatFans
第一行是MAINIFEST的版本,第二行Class-Path就指定了外来jar包的位置,第三行指定我们要执行的MAIN java文件。
这里要注意几点:
1、Class-Path: 和Main-Class: 后边都有一个空格,必须加上,否则会打包失败,错误提示为:Invalid header field;
2、假设我们的项目打包后为KillCheatFans.jar,那么按照上面的定义,应该在 KillCheatFans.jar的同层目录下建立一个lib文件夹(即lib文件和打包的jar文件
在同一个目录下),并将相关的jar包放在里面。否则将会出现“Exception in thread "main" java.lang.NoClassDefFoundError”的错误;
3、Main-Class后面是类的全地址,比如你的主文件是KillCheatFans.java,文件里打包为package com. 那么这里就写com.main.KillCheatFans,
不要加.java后缀,主文件地址写错将会出现“找不到或无法加载主类”的错误;
4、写完Main-Class后一定要回车(即最后一行是空白行),让光标到下一行,这样你生成的jar包才能找到你的主class去运行,否则将会出现“jar中没有主清单属性”的错误。
步骤2:右击Java工程选择Export—&选择JAR file—&Next
步骤3:选择要打包的文件,不需要的文件不必打包,减小打包后的jar文件大小,并进行选项配置如下
这里有几个选项:
* Export generated class files and resources 表示只导出生成的.class文件和其他资源文件
* Export all output folders for checked projects 表示导出选中项目的所有文件夹
* Export java source file and resouces 表示导出的jar包中将包含你的源代码*.java,如果你不想泄漏源代码,那么就不要选这项了
* Export refactorings for checked projects 把一些重构的信息文件也包含进去
步骤4:选择我们在第一步中自定义的配置文件路径,这一步很重要,不能采用默认选项
这里解释一下配置项:
* Generate the manifest file:是系统帮我们自动生成MANIFEST.MF文件,如果你的项目没有引用其他class-path,那可以选择这一项。
* Use existing mainfest from workspace:这是可以选择我们自定义的.MF文件,格式如上所写,引用了第三方包时选用。
* Seal content:要封装整个jar或者指定的包packet。
* Main class:这里可以选择你的程序入口,将来打包出来的jar就是你这个入口类的执行结果。
最后Finish,即生成了我们要的jar文件。
运行该jar文件有两种方式:
1. 在命令行下运行命令java -jar 你的jar文件名称,比如我的执行如下:
如果在jar中有一些System.out.prinln语句(如上执行结果),运行后不想在控制台输出而是保存在文件中方便以后查看,可以用一下命令:java -jar KillCheatFans.jar & log.txt (这时命令行窗口不会有任何输出)输出信息会被打印到log.txt中,当然log.txt自动生成,并位于和KillCheatFans.jar一个目录中。
2. 新建一个批处理文件,如start.bat,内容为:java -jar KillCheatFans.jar,放在jar文件同一目录下即可,以后点击自动运行即可,更加方便。
方案二:安装Eclipse打包插件Fat Jar
方案一对于含有较多第三方jar文件或含有第三方图片资源等就显得不合适,太繁琐。这时可以使用一个打包的插件—Fat Jar。
Fat Jar Eclipse Plug-In是一个可以将Eclipse Java Project的所有资源打包进一个可执行jar文件的小工具,可以方便的完成各种打包任务,我们经常会来打jar包,但是eclipse自带的打包jar似乎不太够用,Fat Jar是eclipse的一个插件,特别是Fat Jar可以打成可执行Jar包,并且在图片等其他资源、引用外包方面使用起来更方便。安装方法:
1. Eclipse在线更新方法Help & Install New Software & Add,name:Fat Jarlocation:http://kurucz-grafika.de/fatjar2. Eclipse插件手动安装方法下载地址:http://downloads.sourceforge.net/fjep/net.sf.fjep.fatjar_0.0.27.zip?modtime=&big_mirror=0将解压出的plugins中的文件复制到eclipse安装目录中的plugins目录下,然后重启eclipse即可。使用方法:
步骤1:右击工程项目选择Buile Fat Jar
步骤2:配置jar文件存放目录,主Main文件等,如下图
步骤3:选择所要用到的第三方jar包
最后Finish,即生成了我们要的jar文件,十分方便。
My Shop URL:
Welcome everyone!!!
浏览: 1154074 次
来自: 南京
雪鞋了~~~~
赞!!!!!!!!!!!!!!!!!!!!!!!!赞!!!!! ...
不错。学习一下。谢谢
如果你知道的话,希望你指点一二。。。
cat本地运行时,本地数据库会生成表以及表数据,其中有一个表b ...用户名:mushiqianmeng
文章数:63
评论数:353
访问量:1057565
注册日期:
阅读量:1297
阅读量:3317
阅读量:441888
阅读量:1128059
51CTO推荐博文
& 本文出自博客,转载请务必注明出处:
发现很多人问如何把Jar转成exe程序。可能是想双击运行和随处运行。其实这个并不难,我就简单总结几种方法,供大家参考,关键还是要知其所以然。
Java程序的运行不可能脱离JRE,不管你是Jar包还是exe程序。这点你必须了解。那么在没有JRE的机器上你的程序怎么跑?很简单,在你程序里带一份JRE就行了。
先介绍集中打包的方法:
最简单直接的方法,选择你想打包的程序,右键export...
选择Runnable Jar file。(即可执行的Jar包)
选择你程序的主类,就是还有Main函数的类。点Finish即可。
在你的机器上,设置好Jar文件的打开方式(别默认用解压缩的工具打开就行),双击即可运行。
这个跟在命令行执行:
java -jar forfun.jar的效果是一样的。
其实一个Jar能运行,关键还是配置Jar内部的MANIFEST.MF文件。该文件存在于Jar包根目录的META-INF文件夹内。主要由于指定主类(Main)的位置:
Manifest-Version: 1.0
Main-Class: one.coder.jdk.JDKMain
版本可以自己指定,默认生成是1.0。主类位置需要指定。注意,Main-Class的冒号后,要跟一个空格。
如果你还有要依赖的Jar包,则可以配置Class-Path来指定。
Class-Path:&./ logback-core-0.9.29.jar junit-4.9.jar slf4j-api-1.
&6.1.jar logback-classic-0.9.29.jar hamcrest-core-1.1.jar
打开刚才生成的Jar文件,你可能发现多了一些Eclipse的东西,并且主类变成了
Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader
也就是通过Eclipse提供的这个主类来加载的你程序。如果你不喜欢这样,将其去掉。自己进行配置。笔者通过一个不依赖任何Jar包的小程序进行说明。
这是笔者打出Jar的内部截图,去掉所有跟我的程序不相关的东西。MANIFEST.MF的配置也很简单。
Manifest-Version: 1.0
Main-Class: one.coder.jdk.JDKMain
在有JRE的机器上,双击一样可以运行。
注:这里需要提一下,尽量不用用解压软件自带的编辑器进行编辑,如果你编辑后发现不能运行,提示打开jar错误等信息,很可能是由于你编辑的MANIFEST.MF文件的编码错误。导致无法解析。默认是采用ANSI编码格式的。不要改成UTF-8等。笔者被这个问题,困扰了近半个小时。
接下来说说在没有JRE的机器上怎么办?
最简单的手动的办法就是写一个bat脚本。并且带一份jre在你的程序里。
把图中的三个文件,放入同一个文件夹中。
start.bat内容如下:
.\jre7\bin\java -jar .\run.jar
说白了就似乎调用jre中的java命令,执行指定的jar程序。 双击start.bat,执行成功。
如果你非要打成exe程序,笔者推荐一个工具JSmooth。简单好用。同样这也肯定是需要JRE指定的。
关于JSmooth的教程,笔者找到了一个不错的教学贴:
按照里面的步骤,你一定可以成功。
说了这么多,如果还有什么不明白的,可以给我留言,一起讨论研究。
PS1:默认的JRE体积实在太大,你可以考虑精简JRE还节约空间,这部分内容,不在本文讨论。另外,如果你想把你的软件做成安装包的形势,可考虑InstallAnyWhere(/products/installanywhere.htm)这个工具,会有
PS2:笔者研究的过程中,为了模拟没有JRE的环境,真是百般折腾,因为笔者把所有环境变量都删掉,还有可以运行。不知道是不是从JDK7开始,Java居然在我的System32路径下,也放置Java.exe等程序,也就是说,不用配置Path了。jre路径的指定,貌似也写入了注册表,不过这点,笔者没有亲自证实,只是在注册表中简单的搜索了一下,仅发现了JavaFX的配置和一些其他的Java配置,没有深入研究,不好定论。有兴趣可以研究下,也麻烦告诉我一声。
本文出自博客,转载请务必注明出处:
本文出自 “” 博客,转载请与作者联系!
了这篇文章
类别:┆阅读(0)┆评论(0)
10:30:53 12:26:19 22:42:40 14:19:18 09:26:40 14:04:43eclipse下怎么打包java代码成jar到hadoop下运行
我自己捉摸的过程:(有点粗糙,其他选项我都不知道怎么回事,所以我没有去管,新手见谅,下面那个转载有详细的说明)
(注:帽子一下内容是转载的噢)
最后介绍一下使用Eclipse制作jar包的过程吧:
1. 首先在Eclipse中打开项目, 右键点击项目,选择“Export”;
2. 选择Java/JAR file,Next;
3. Select the resources to
export中可以选择你想要包含的项目文件夹,一些不必要的文件夹就无需放进去了,免得增大空间;
这里有几个选项:
&&& * Export
generated class files and resources 表示只导出生成的.class文件和其他资源文件
&&& * Export all
output folders for checked projects 表示导出选中项目的所有文件夹
&&& * Export
java source file and resouces
表示导出的jar包中将包含你的源代码*.java,如果你不想泄漏源代码,那么就不要选这项了
&&& * Export
refactorings for checked projects 把一些重构的信息文件也包含进去
在Select the export destination中选择导出的jar的路径,Next
4. 下一页可以选择是否导出那些含有警告warning或者错误errors的*.class文件。一般不用理他,Next
5. 下一个页面里可以对项目做一些配置。
&&& * Generate
the manifest
file是系统帮我们自动生成MANIFEST.MF文件,如果你的项目没有引用其他class-path,那可以选择这一项。
existing mainfest from workspace。这是可以选择我们自定义的.MF文件,格式如上所写。
&&& * Seal
content。要封装整个jar或者指定的包packet
&&& * Main
class。这里可以选择你的程序入口,将来打包出来的jar就是你这个入口类的执行结果。
最后Finish,搞定。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。我在Eclipse中将一个java项目打包成jar文件后,为什么双击它时没反应?但在eclipse中是可以运行的
本回答由提问者推荐}

我要回帖

更多关于 eclipse写java程序 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信