【转】命令行执行main方法
来源:互联网 发布:ps软件启动不了 编辑:程序博客网 时间:2024/05/17 04:53
原文:http://www.cnblogs.com/JeffChen/archive/2008/01/15/1039708.html
javac和java命令行中的-classpath选项
这是个很基础的问题,但是因为基本上都是用现有的IDE工具 来开发java程序,所以很少有人意识到这一点。
javac
-classpath,设定要搜索类的路径,可以是目录,jar文件,zip文件(里面都是class文件),会覆盖掉所有在CLASSPATH里面的设定。
-sourcepath, 设定要搜索编译所需java 文件的路径,可以是目录,jar文件,zip文件(里面都是java文件)。
所以一个完整的javac命令行应该是这样的,
假设abc.java在路径c:\src里面,在任何的目录的都可以执行以下命令来编译。
javac -classpath c:\classes;c:\jar\abc.jar;c:\zip\abc.zip -sourcepath c:\source\project1\src;c:\source\project2 \lib\src.jar;c:\source\project3\lib\src.zip c:\src\abc.java
表示编译需要c:\classed下面的class文件,c:\jar\abc.jar里面的class文件,c:\zip\abc.zip里面的class文件
还需要c:\source\project1\src下面的源文件,c:\source\project2 \lib\src.jar里面的源文件,c:\source\project3\lib\src.zip里面的源文件,
注意:jar,zip里面的源文件不会有什么改动,目录下的源文件,有可能会被重新编译。
java
-classpath, 设定要搜索的类的路径,可以是目录,jar文件,zip文件(里面都是class文件),会覆盖掉所有的CLASSPATH的设定。
由于所要执行的类也是要搜索的类的一部分,所以一定要把这个类的路径也放到-classpath的设置里面。
表现在,在要执行的类的路径里面执行java时,一定要添加上点号(.)标示本目录也要搜索。
假设abc.class在路径c:\src里面
可以在任何路径下执行以下命令
java -classpath c:\classes;c:\jar\abc.jar;c:\zip\abc.zip;c:\src abc
问题:如果main.class属于c:\jar\abc.jar,并且在com.cnblogs.jeffchen这个包里,那么执行java -classpath c:\classes;c:\jar\abc.jar;c:\zip\abc.zip;com.cnblogs.jeffchen.main即可, 但是如果classpath中包含多个jar包呢?并且其他jar包中也有com.cnblogs.jeffchen会发生什么情况?错误?
在windows下,
文件路径的分割符为反斜杠 \
类或者java文件列表的分割符为分号 ;
在linux下
文件路径的分隔符位斜杠 /
类或者java文件列表的分隔符为冒号 :
一个linux下编译和运行的例子
/usr/local/java/bin/javac -classpath /tmp/javatest/lib/mail-1.3.3.jar -d /tmp/javatest/bin/ /tmp/javatest/src/jp/co/realseed/Capability.java
/usr/local/java/bin/java -classpath /tmp/javatest/lib/mail-1.3.3.jar:/tmp/javatest/bin/ jp.co.realseed.Capability
上一篇:【转】JAVA下的多线程程序造成系统时钟变快
下一篇:【转】jar参数运行应用时classpath的设置方法
- 利用进程信息追查内存泄漏...
- saltstack批量部署并配置nginx...
- 核心交易系统数据库应用程序绑...
- 开源负载均衡LVS随机自启动异...
- jsp嵌套
- Tomcat 6 配置SSI
- tomcat + ssi
- JDK1.6官方下载_JDK6官方下载_...
- Java 判断文件夹、文件是否存...
- 如何正确(完美)卸载Java/JDK/J...
- linux dhcp peizhi roc
- 关于Unix文件的软链接
- 求教这个命令什么意思,我是新...
- sed -e "/grep/d" 是什么意思...
- 谁能够帮我解决LINUX 2.6 10...
- 【转】命令行执行main方法
- JFinal 执行 Main 方法
- main方法与命令行参数
- 26-main方法不能执行
- C# Main方法及命令行参数
- JAVA main 方法的执行原理 main()方法详解
- java执行命令行的方法
- java命令行执行带依赖jar包的main函数
- java命令行执行带依赖jar包的main函数
- Main方法传递参数执行动态程序
- 如何执行.jar包中的main方法
- maven项目如何执行main方法
- 执行jar包中的main方法
- main()方法的执行 和 类加载
- JVM——main()方法的执行
- JSP和main调用方法执行效率
- 抽象类 自动执行 main方法
- java中main方法执行的问题
- 【转】是什么造就了伟大的程序员?
- Firefox上实现跨域访问
- 【转】是什么成就了一名“高级”程序员?
- 有关ListView优化机制及滑动时数据错乱问题的讨论
- 【转】JAVA下的多线程程序造成系统时钟变快
- 【转】命令行执行main方法
- 【转】jar参数运行应用时classpath的设置方法
- ViewPager 的 PagerAdapter的官方的说明 摘录
- 【转】在批处理中加载某个目录所有的jar
- [转]java的System.getProperty()方法可以获取的值
- java.lang.UnsatisfiedLinkError:Unable to load
- 【转】[Java]Stack栈和Heap堆的区别(终结篇)
- jdk环境变量配置:java.lang.NoClassDefFoundError
- 两种方式调试JNI中DLL(动态链接库)