手工编译、运行JavaSE项目,且此项目需要第三方jar包支持,且文件中有打包。 分类: java 2010-03-27 10:37 1057人阅读 评论(0) 收藏

1:先说说第三方jar问题。

在命令行窗口下,如果编译没有问题的话,那么运行时就会报告程序中用第三方类缺失。

此时按照如下方法即可解决:

先查询CLASSPATH值,值为:

CLASSPATH=.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar;%JAVA_HOME%/jre/lib/rt.jar

 

那么将所需的三个jar包添加到物理路径%JAVA_HOME%/lib下,然后修改CLASSPATH值,修改后的值为:

CLASSPATH=.;%JAVA_HOME%/lib/msbase.jar;%JAVA_HOME%/lib/mssqlserver.jar;%JAVA_HOME%/lib/msutil.jar;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar;%JAVA_HOME%/jre/lib/rt.jar

 


 

2:打包问题

假设两个文件:
    D:/workspace/com/A.java
    D:/workspace/com/B.java
两个文件都有:
    package com;
 
如何编译运行?
  
进入D:/workspace路径下,输入:
 
    javac  com/A.java  -d .
    红色为源文件路径,蓝色为输出路径。注意-d后面有个点。点的意思是在 .java 文件的根目录
 
则在生成两个文件:
    D:/workspace/com/A.class
    D:/workspace/com/B.class


为了方便也可以采用:
    javac  com/*.java  -d .
运行时,在包路径的根目录上运行,比如:在 D:/workspace 路径下,输入:
    java com.A 或 java com/A
 
如果当前路径是 C:/ 或其他路径,那么
编译:
    javac -cp D:/workspace D:/workspace/com/*.java -d .
运行:
    java -cp D:/workspace com.A
 
总结
 
1、把包看成是源文件的一部分,而不是一个路径,这点很重要。
2、如果不加 -cp 标志,则路径为环境变量和当前路径,如果加 -cp 标志,则路径为cp指定的路径和当前路径。

版权声明:本文为博主原创文章,未经博主允许不得转载。

posted @ 2010-03-27 10:37  哲夫  阅读(105)  评论(0编辑  收藏  举报