javaeclipse命令行
由于项目要求,需要对eclipse中的项目进行打包,似的可以在客户机上不装eclipse的情况下正常运行。
一.环境说明:
eclipse---3.5
jdk-------1.6.0.22
os--------xp,win7
二.解决方案详情:
1.项目不引用外部jar包,仅仅依赖于jdk相关jar包,则有两种解决方案
方案一、通过eclipse/myeclipse-->export-->java-->runnable JAR File,
按照提示选择Main方法,再下一步,最终生成jar文件;在cmd命令行下执行
java -jar XXX.jar即可
<%%
自己实践所得: eclipse/myeclipse-->export-->java-->runnable JAR File -->(选中)package required libraries into generated jar
(生成所需的库打包成jar)
java -jar XXX.jar即可
%%>
方案二、还是通过eclipse/myeclipse工具导出,但是不是导出jar文件,而是导出
包结构及class文件:export-->File System-->在这一步选择要导出的类
以及项目的配置文件还有lib目录(也就是项目需要的jar包)(这是关键的一
步,导出类时因为eclipse/myeclipse默认编译后的class文件在bin/包
路径/class文件,这里导出时不需要bin这个文件夹,把包路径和包下的
class文件一起导出。最后还应注意,比如我们的项目包都是以
com.project.xxx报下,而程序入口的main文件在
com.project.main包下,则cmd中执行java命令时应该进入到com包所在的
目录下,比如在classes目录下则cd classes,执行命令如下:
java com.project.main.Main
2.项目引用第三方jar包,并且需要在启动时读取配置文件
还是通过eclipse/myeclipse工具导出,但是不是导出jar文件,而是导出
包结构及class文件:export-->File System-->在这一步选择要导出的类
以及项目的配置文件还有lib目录(也就是项目需要的jar包)(这是关键的一
步,导出类时因为eclipse/myeclipse默认编译后的class文件在bin/包
路径/class文件,这里导出时不需要bin这个文件夹,把包路径和包下的
class文件一起导出,并保证和配置文件目录即lib目录同级,不这么做的话
在cmd命令下执行java 类名命令时会java.lang.NoClassDefFoundError
错误,即使代码没有任何问题的情况下也会报该异常)。最后还应注意,比如我
们的项目包都是以com.project.xxx报下,而程序入口的main文件在
com.project.main包下,则cmd中执行java命令时应该进入到com包所在的
目录下,比如在classes目录下则cd classes,执行命令如下:
java -Djava.ext.dirs=./lib com.project.main.Main
其中-D参数表示加载项目所需要的jar包即lib下所有*.jar
注意:加入配置文件在项目根目录/conf/目录下,那么就必须把conf文件夹
放在和com包同一个目录下,并在代码中以conf/XXX来读取配置文件即
可
3.补充说明
这里说明下为什么在项目有配置文件的时候没什么没有采用打jar包形式来导出项目。
因为如果采用打jar包的形式,则在jar在项目的时候相当于是负责配置加载的类需要
读取同一个jar包下的配置文件(读取资源文件同理),这对于项目完全可以修改的情况
下我们可以修改读取配置文件的方式为:
例:
【InputStream is=this.getClass().getResourceAsStream("/conf/res.txt");】
来读取配置问价或者资源文件;
但是本分项目早已将加载资源文件的代码单独打为jar包,那么我们不能去修改原有
代码,那么“2”中的方法就比较有效了!
三、扩展知识点(备忘)
1.可运行的jar文件和普通jar文件的区别在jar包中META-INFO/MANIFEST.MF
文件:其中可运行jar中指定了main方法所在类的位置,以及运行时所依赖的jar包
Java代码
例:
【 Rsrc-Class-Path: ./ commons-lang.jar
Class-Path: .
Rsrc-Main-Class: org.test.Main
Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader 】
2.对于在某个包下的Main Class文件,在命令行下执行该类需要在根目录下执行
Java代码
例
【java com.project.main.Main】
命令,并且必须带包名,否则会报NoClassDefFoundError异常
3.java命令-D用来设置系统变量值;java.ext.dirs表示的是告诉虚拟机加载该路径下
所有的jar文件;ext.dirs指定的jar文件由extention classloader负责加载
分享到:
相关推荐
java调用DOS命令java调用DOS命令java调用DOS命令java调用DOS命令
dos命令测试java jar文件 命令行下运行JUnit测试 命令运行java
DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全...
Dos命令行方式创建...3.执行创建命令 android create project -n lifecycle -k cn.edu.gdmec -a lifecycle -t 1 -p d:\android\lifecycle 4.查看当前的虚拟机 android list avds 5.如果没有虚拟机就创建一个虚拟机
NULL 博文链接:https://lengyue.iteye.com/blog/416004
java 使用dos命令详解 java 使用dos命令详解
在学习JAVA时经常要用的一些DOS命令 很有用的
DOs 命令大全,DOs 命令大全DOs 命令大全DOs 命令大全DOs 命令大全DOs 命令大全DOs 命令大全DOs 命令大全DOs 命令大全DOs 命令大全DOs 命令大全DOs 命令大全DOs 命令大全
DOS命令集 DOS命令集 DOS命令集 DOS命令集 DOS命令集 DOS命令集
DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全DOS命令大全...
JAVA如何调用DOS命令.doc
dos运行命令dos运行命令dos运行命令dos运行命令dos运行命令dos运行命令dos运行命令dos运行命令dos运行命令dos运行命令dos运行命令dos运行命令dos运行命令dos运行命令dos运行命令dos运行命令dos运行命令dos运行命令...
1.初学者已经学过c 2.文件需要用typora打开 3,内容到异常处理 4,习题到数组 5.包含java经常犯的相关报错
常用DOS命令.ppt常用DOS命令.ppt常用DOS命令.ppt常用DOS命令.ppt常用DOS命令.ppt常用DOS命令.ppt常用DOS命令.ppt常用DOS命令.ppt常用DOS命令.ppt常用DOS命令.ppt常用DOS命令.ppt常用DOS命令.ppt常用DOS命令.ppt常用...
在Windows下运行Java程序时,黑屏幕经常很容易被人关闭,... 在config.dt文件中配置,cmdLine=E:\Java2\OutJar\rr.bat,运行RunDosCmd-配置方式快捷方式(就RunDosCmd.exe带ini参数),程序运行时自动运行配置Bat文件。
在Windows 2000中提供有DOS命令执行功能,供用户以命令方式执行系统功能和运行应用程序。 (1)进入和退出DOS命令行方式 在开始菜单的“程序”子菜单中,选择“附件”下的“命令提示符”选项,启动命令行方式,出现...
java执行DOS的内部命令,执行DOS可执行程序。
dos命令dos命令dos命令dos命令dos命令dos命令dos命令dos命令dos命令dos命令dos命令dos命令dos命令dos命令dos命令dos命令dos命令
一个Java执行DOS命令的类!极其简单!一个Java执行DOS命令的类!极其简单!
常用DOS命令课件 常用DOS命令课件常用DOS命令课件常用DOS命令课件常用DOS命令课件