在命令行下运行java工程
来源:互联网 发布:js获得status code 编辑:程序博客网 时间:2024/05/22 12:30
一 BootStrap class扩展方案(实际中,我没有成功)
Java 命令行提供了如何扩展bootStrap 级别class的简单方法.
-Xbootclasspath: 完全取代基本核心的Java class 搜索路径.
不常用,否则要重新写所有Java 核心class
-Xbootclasspath/a: 后缀在核心class搜索路径后面.常用!!
-Xbootclasspath/p: 前缀在核心class搜索路径前面.不常用,避免
引起不必要的冲突.
语法如下:
(分隔符与classpath参数类似,unix使用:号,windows使用;号,这里以unix为例)
java -Xbootclasspath/a:/usrhome/thirdlib.jar: -jar yourJarExe.jar
二 extend class 扩展方案(现在就用这个方法,最简单可行)
Java exten class 存放在{Java_home}/jre/lib/ext目录下.当调用Java时,对扩展class路径的搜索是自动的.总会搜索的.这样,解决的方案就很简单了,将所有要使用的第三方的jar包都复制到ext 目录下.
三 User class扩展方案(实际中,manifest文件太多,而且在eclipse中还可以自动生成。)
当使用-jar执行可执行Jar包时,JVM将Jar包所在目录设置为codebase目录,所有的class搜索都在这个目录下开始.所以如果使用了其他第三方的jar包,一个比较可以接受的可配置方案,就是利用jar包的Manifest扩展机制.
步骤如下:
1.将需要的第三方的jar包,复制在同可执行jar所在的目录或某个子目录下. 比如:jar 包在 /usrhome/yourJarExe.jar 那么你可以把所有jar包复制到/usrhome目录下或/usrhome/lib 等类似的子目录下.
2.修改Manifest 文件
在Manifest.mf文件里加入如下行
Class-Path:classes12.jar lib/thirdlib.jar
Class-Path 是可执行jar包运行依赖的关键词.详细内容可以参考 http://java.sun.com/docs/books/tutorial/deployment/jar/downman.html 。要注意的是 Class-Path 只是作为你本地机器的CLASSPATH环境变量的一个缩写,也就是说用这个前缀表示在你的jar包执行机器上所有的CLASSPATH目录下寻找相应的第三方类/类库。你并不能通过 Class-Path 来加载位于你本身的jar包里面(或者网络上)的jar文件。因为从理论上来讲,你的jar发布包不应该再去包含其他的第三方类库(而应该通过使用说明来提醒用户去获取相应的支持类库)。如果由于特殊需要必须把其他的第三方类库(jar, zip, class等)直接打包在你自己的jar包里面一起发布,你就必须通过实现自定义的ClassLoader来按照自己的意图加载这些第三方类库。
- 在命令行下运行java工程
- JAVA在cmd命令行下运行
- 命令行编译运行java工程
- 打成jar包 在命令行下执行java工程
- 在命令行下执行java工程(打成jar包)
- 打成jar包 在命令行下执行java工程
- 打成jar包 在命令行下执行java工程
- 在windows命令行下编译*.java文件,并运行
- Java程序在命令行下编译运行打Jar包
- 在命令行模式下如何编译运行Java代码
- 命令行下运行java程序
- 在命令行运行.java文件
- 在命令行中运行java
- 在命令行下编译C++Builder工程
- 在命令行下运行PHP脚本
- 在命令行下运行 adb start-server
- 在命令行下运行PHP CLI
- 在Linux命令行下运行Matlab
- glBlendFunc 参数详解
- HDU1698关于线段树的解题报告和代码
- symbian下的数据库DBMS错误码
- 大数据量,海量数据 处理方法总结
- Android电子书
- 在命令行下运行java工程
- rtc hwclock 使用
- 在spring中如何使用hibernate?既(struts2+hibernate+spring)
- NTLDR和Bootfont.bin的作用
- 播放本地MP3 (二)
- 腾讯offer路 一路走来
- Android下的扩展SeekBar
- JAVA动态代理机制
- 求最大连续子段和 的 dp算法