`

java: lib & classpath

    博客分类:
  • J2SE
 
阅读更多

classpath, is the path to search for third-part or user-defined classes,

refer to:
* linux
    docs.oracle.com/javase/6/docs/technotes/tools/solaris/classpath.html
    docs.oracle.com/javase/6/docs/technotes/guides/extensions/extensions.html
    docs.oracle.com/javase/7/docs/technotes/tools/solaris/jdkfiles.html
* windows
    docs.oracle.com/javase/6/docs/technotes/tools/windows/classpath.html
*

------
3 level of jars

include:
* java platform classes (bootstrap)
    location:
        jre_home/lib/
            rt.jar
            ..
    this will be searched automatically, load by bootstrap classloader,
* java extension
    location:
        jre_home/lib/ext/
    this will be searched automatically, load by extension classloader,
* third-party & user-defined
    this need to specify in classpath, load by system classloader,
*

search order:
    java platform classes -> java extension -> third-party & user-defined,

------
set classpath

2 ways to set:
* set CLASSPATH environment
* use -cp option
*

default value:
    classpath default to current dir,

override:
    both of them will override the default classpath,
    so add "." to include current dir, and add "$CLASSPATH" as prefix to include the original classpath,

search order:
    the search order of classpath, is the same as you specified in classpath,

------
classpath format

format:
    linux:
        path_1:path_2:..:path_N
    windows:
        path_1;path_2;..;path_N

path:
    each path could be jar/zip/dir, '.' means current path,
    the dir or root dir included by jar/zip, should include:
    * the top package folder, if class has package
    * .class file, if class has no package

wildcard:
    '*', used it at end of a path, after separator '/', it equals to include all files with extension '.jar' or '.JAR' in that folder,
    '*' can't be used in other format,
    e.g.
        # this will include all jars under "/tmp/lib"
        "/tmp/lib/*"

------
tools.jar & dt.jar

under jdk_home/lib, there are some jars, they are not part of java platform, but are useful tools,
if want to use them, need to include in classpath,

jars:
* tools.bar
    non-core classes for support of the tools and utilities in the JDK
* dt.jar
     the DesignTime archive of BeanInfo files that tell IDE how to display the Java components and how to let the developer customize them for an application,
*

------
e.g.

* config classpath - linux - eric.sh
    CLASSPATH=.:$JAVA_HOME/lib/*
* execute command by add additional path to configured classpath - linux
    java -cp $CLASSPATH:/mnt/star/workspace/java_workplace hello.Test
*
* set classpath via command temporary - linux shell
    # include a single jar, base on original classpath,
    export CLASSPATH=$CLASSPATH:/tmp/test.jar
    # include all jars under specified folder, base on original classpath,
    export CLASSPATH=$CLASSPATH:/tmp/lucene_demo/lib/*
*

------

分享到:
评论

相关推荐

    Java环境配置与设置JAVA_HOME_CLASSPATH_PATH的目的

    Java 环境配置与设置 JAVA_HOME, CLASSPATH, PATH 的目的 Java 环境配置是 Java 开发的基础,我们需要正确地配置 JAVA_HOME, CLASSPATH, PATH 等环境变量,以便正确地编译和运行 Java 程序。在本节中,我们将详细地...

    java中path和classpath的设置

    假设你需要添加`D:\Program Files\Java\jdk1.6.0_16\lib\dt.jar`和`D:\Program Files\Java\jdk1.6.0_16\lib\tools.jar`这两个JAR文件到`classpath`中,你可以按照以下步骤进行设置: 1. **打开系统环境变量设置界面...

    java classpath 理解

    ### Java Classpath 理解 #### 一、在命令行查看 Classpath 在 Java 开发环境中,了解如何查看当前环境下的 classpath 非常重要。这有助于开发者明确类库和其他依赖项的位置,从而更好地管理项目的运行环境。 1. ...

    JavaJAVA_HOME_CLASSPATH_PATH.rar_Home Home

    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:./lib/*.jar export PATH=$PATH:$JAVA_HOME/bin ``` 然后运行`source ~/.bashrc`或`source ~/.bash_profile`以使更改立即生效。 总之,正确...

    java的classpath的终结者(不会让你失望)

    ### Java的Classpath详解及其重要性 在Java编程的学习与实践中,环境配置是入门的关键步骤之一,其中最为棘手的问题之一便是如何正确设置`classpath`。`classpath`不仅影响着程序能否正常编译和运行,还关系到...

    13-Java语言(classpath环境变量)

    3. CLASSPATH系统属性:在Java代码中,通过`System.setProperty("java.class.path", "/path/to/lib")`来设置,但这通常不推荐,因为可能会覆盖已有的系统设置。 三、classpath的路径格式 classpath可以包含多个路径...

    Java 中的 ClassPath 和 Package

    Java中的ClassPath和Package是Java开发中至关重要的概念,它们直接影响到Java程序的编译和运行。在这篇文章中,我们将详细探讨这两个主题。 首先,让我们理解什么是ClassPath。ClassPath是Java虚拟机(JVM)查找类...

    java-7-openjdk-amd64

    CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME export PATH export CLASSPATH $ java -version java version "1.7.0_121" OpenJDK Runtime Environment (IcedTea 2.6.8) (7u121-...

    java环境变量配置 JDK环境变量

    - **CLASSPATH**:为Java加载类(`class`或`lib`)的路径。 #### 三、具体配置步骤 假设JDK安装路径为`C:\Program Files\Java\jdk1.6.0_21`。 1. **安装JDK**:首先安装JDK,并自定义安装目录等信息,例如选择安装...

    01_JAVA坏境变量中的JAVA_HOME path classpath 的设置与作用

    ### JAVA环境变量中的JAVA_HOME, path, classpath 的设置与作用 #### 一、JAVA_HOME 的设置与作用 **JAVA_HOME** 是一个重要的环境变量,主要用于指明 Java 开发工具包 (JDK) 的安装位置。它对于配置 Java 开发...

    java+lib所有包

    "lib"在计算机编程中通常指的是库,这里的"lib包"是指Java编程中使用的各种库文件的集合,这些库提供了丰富的功能,帮助开发者高效地完成任务。在Java中,库主要以JAR(Java Archive)格式存在,它们包含了预编译的...

    java lib(整合)

    "java lib(整合)"这个主题着重于集成和管理Java开发中用到的各种库,以提高开发效率和代码质量。 在Java生态系统中,库涵盖了各种功能,包括但不限于数据结构、算法、网络通信、数据库连接、图形用户界面(GUI)...

    jkd配置信息:path的值,classpath的值以及java_home的值

    ### jdk配置信息:path的值,classpath的值以及java_home的值 #### JDK配置概述 JDK(Java Development Kit)是开发Java应用程序所必需的基础软件包,它包含了编译、运行Java程序所需的各种工具及库文件。在进行...

    JAVA坏境变量中的JAVA_HOME path classpath 的设置与作用

    设置CLASSPATH时,通常会包括JDK的类库,如%JAVA_HOME%\lib\dt.jar和%JAVA_HOME%\lib\tools.jar,以及任何额外的第三方库或用户自定义类库的位置。在CLASSPATH中包含`.`(当前目录)是一个常见做法,这意味着JVM也将...

    编译时提示软件包javax.servlet.http不存在,如何解决

    classpath 是 Java 的一个环境变量,用于指定 Java 编译器和运行时环境的类搜索路径。我们可以通过设置 classpath 变量的值来添加 servlet-api.jar。例如,在 Windows plataforma 中,我们可以将 %CATALINA_HOME%\...

    Java :开发环境配置

    %JAVA_HOME%\lib\tools.jar;(注意前面的".") - 变量名:Path 变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 在Windows 10中,Path变量可能需要分开添加,即%JAVA_HOME%\bin 和 %JAVA_HOME%\jre\bin。 配置...

    如何安装java JDK以及正确设置CLASSPATH系统变量

    ### 如何安装Java JDK及正确设置CLASSPATH系统变量 #### 1. 预备常识 ##### 1.1 安装 JDK 首先,需要访问官方的Java网站(http://java.sun.com)来获取适用于您操作系统的最新版本的JDK。以撰写本文时的情况为例...

    java classpath 批量设置脚本

    linux bash: YOUR_LIB=your_path for jar in `ls $YOUR_LIB/*.jar` do CLASSPATH="$CLASSPATH:""$jar" ... FOR %%C IN (LIB\*.jar) DO set CLASSPATH=!CLASSPATH!;%%C echo %CLASSPATH%

    Classpath Variable 解决办法

    在Java编程环境中,`Classpath`(类路径)是一个至关重要的概念,它是Java虚拟机(JVM)查找和加载.class文件的路径。当我们在开发和运行Java程序时,正确配置Classpath是确保程序能正常运行的关键步骤。这篇文档将...

Global site tag (gtag.js) - Google Analytics