JAVA和JAVAC命令行;java带有包名编译并运行,附带外部依赖jar包运行转载
原创因为欣赏而转载因为我欣赏而转载因为欣赏而转载 , 原文地址
http://www.cnblogs.com/JeffChen/archive/2008/01/15/1039708.html
http://blog.csdn.net/czw698/article/details/44353453
javac和java在命令行的命令行上,命令行-classpath选项
这是一个非常基本的问题,但由于它基本上是使用现有的IDE工具 来开发java程序,所以很少有人知道它。程序,所以很少有人知道这一点。程序,很少有人意识到这一点。程序,所以很少有人意识到这一点。
javac
-classpath设置要搜索的类的路径,可以是目录。jar文件,zipFILE(它充满了FILE(它是所有的文件)它是所有的文件(它们都是class文件),这将覆盖文件中的所有文件),这将覆盖文件中的所有文件),将覆盖CLASSPATH里面的布景。里面的设置。在布景里面。里面的设置。
-sourcepath, 设置以搜索已编译的必需集合以搜索所需的集合以搜索已编译的必需集合以搜索必需的java 文件的路径,可以是目录jar文件,zipFILE(它充满了FILE(它是所有的文件)它是所有的文件(它们都是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文件,zipFILE(它充满了FILE(它是所有的文件)它是所有的文件(它们都是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
今天我写了一个我今天写了一个今天写了一个 测试 这个带有包名的程序意外地忘记了如何编译和运行,所以现在把它写下来
1 编译和运行程序包编译和运行包程序
[java] view plain copy
-
package test;
-
public class HiveJdbcClient {
-
public static void main(String[] args) {
-
System.out.println( "-------------------" );
-
}
-
}
程序使用包名,则编译应使用
[python] view plain copy
- javac -d . HiveJdbcClient.java
在当前目录a中,当前目录在这里生成一个 test目录,这是目录,这是目录,里面是目录,其中是 HiveJdbcClient.class 文件
使用命令运行。使用命令运行。运行该命令。使用以下命令运行。
[python] view plain copy
[
](https://code.csdn.net/snippets/621979/fork "派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码表断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码表断派生到我的代码表断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码表断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码表断派生到我的代码表断派生到我的代码表断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码表断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码表断派生到我的代码表断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码表断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码表断派生到我的代码表断派生到我的代码表断派生到我的代码表断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码表断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码片断派生到我的代码片断派生到我的代码表断派生到我的代码表断派生到我的代码片断派
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除