管理 Java 类路径

来源:互联网 发布:金石软件win10 编辑:程序博客网 时间:2024/06/07 09:37

      javac默认将编译后的类文件(*.class)存放在与源文件(*.java)相同的位置,且当源文件中的package路径与实际存放路径不匹配时也可以正确编译

      javac如果不指定-d,那么,源码中package不生效,生成的类文件与源文件位置相同;如果指定了-d,那么,类文件(*.class)将更具package信息来生成

      源路径就是java在其中寻找源文件的那个目录,一般为src。用源路径指定编译器应该到哪些目录查找源文件的层次结构。例如:

      javac    -d  bin       -sourcepath src      src\com\client\HttpServelt.java

                       类文件目录        依赖的源文件目录                   要编译的源文件

      在源路径中可以有多个目录,使用分号来进行分隔,在实际中,一个.java文件一般会依赖同一个项目中的其他.java文件和来自第三方的类或jar文件,因此,源文件目录通常只有一个,但会有多个类路径

       javac      -classpath  bin;lib\tools.jar      src\com\client\HttpServlet.java

                           依赖的类文件目录,都将被添加到类路径


一个完整的命令:编译程序

                                        

javac     -d  bin            -sourchpath src       -classpath C:\lib1\classes;C:\lib2\classes      src\com\client\HttpServet.java

              生存类文件存放目录        依赖的源目录add to源路径                     依赖的类目录add to类路径,还可以是jar包                                       要编译的源文件


运行程序,只需指定两项内容

1)类路径

2)包含main方法的完全限定名(即package定义的那个名称+类名)

      java   -classpath  bin  com.client.HttpServlet

                                                              该类名必须在类路径中的某处找到

执行器会去类路径目录下,按照com\client\HttpServlet.class去寻找类文件,全部路径应该是bin+com\client\HttpServlet.class。

注意:具有匹配包名称(com.client等)的目录绝不会直接包含在源路径或类路径中。

参考:https://www.ibm.com/developerworks/cn/java/j-classpath-windows/

原创粉丝点击