首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

java -jar 启动程序设置classpath

目录 前言 java 类加载器与路径 java 设置路径的方法 设置 bootclasspath 设置 Extensions JAR files 设置 classpath 测试程序 java -jar...-jar命令执行java程序时,能够指定classpath java 类加载器与路径 java 类加载器有三个: Bootstrap CLassLoader ExtClassLoader AppClassLoader...\tools.jar来寻找和调用用户级的class.常用的javac也是通过调用tools.jar来寻找用户指定的路径来编译Java源程序.这样就引出了User class路径搜索的顺序或优先级别的问题...,是开发的class所存在的当前目录 3.2 CLASSPATH环境变量设置的路径.如果设置了CLASSPATH,则CLASSPATH的值会覆盖缺省值 3.3 执行Java的命令行-classpath或...换句话说,-jar 后面所跟的jar包的优先级别最高,如果指定了-jar选项,所有环境变量和命令行制定的搜索路径都将被忽略.JVM APPClassloader将只会以jar包为搜索范围.

2.6K20
您找到你想要的搜索结果了吗?
是的
没有找到

Java classpath调用规则

一、虚拟机加载类的时候的规则如下         1、当没有设置classpath的时候,虚拟机直接在当前路径下载加载classpath。        ...2、当设置了classpath以后,如果设置的classpath是以";"结尾的,那么虚拟机按照设置的路径从前向后地寻找,如果都              没有到,会在当前路径下寻找;如果设置的classpath...二、classpath对应的Dos命令         1、查看classpath环境变量:set classpath         2、取消classpath环境变量的定义:set classpath...=         3、将classpath环境变量设置为某值:set classpath=xxxxxxxxxxxxxxxxxxxx(;) 三、path这个环境变量的规则是:先从当前路径下寻找,如果找不到才会到

79840

Java中令人困惑的classpathjar到底是什么鬼?

Java中令人困惑的classpathjar到底是什么鬼?...ClassPath是什么 如何去设置classPath以及是否需要设置classPath jar包 小结 ---- ClassPath是什么 在Java中,我们经常听到classpath这个东西。...如果指定的.class文件不存在,或者目录结构和包名对不上,均会报错。 ---- jar包 如果有很多.class文件,散落在各层目录中,肯定不便于管理。...jar包实际上就是一个zip格式的压缩文件,而jar包相当于目录。如果我们要执行一个jar包的class,就可以把jar包放到classpath中: java -cp ....JVM会自动读取这个MANIFEST.MF文件,如果存在Main-Class,我们就不必在命令行指定启动的类名,而是用更方便的命令 java -jar hello.jar jar包还可以包含其它jar

1.5K73

JavaClassPath问题

在文章《Spark Submit的ClassPath问题》中,我探讨了针对spark-submit的Jar包,如何指定外部依赖的Jar包。同样的问题在本地部署时仍然存在。...此时,运行Jar并不是通过spark-submit,而是通过java命令,例如: exec java -Xmx2000m -DMORT_HOME=$MORT_HOME -Ddata-set-parquet.path...2>&1 这里-jar参数后面指定的就是我们要运行Jar包,而在该Jar包中Java类,回去调用一个第三方的jar包,且jar包并没有被放到mort.jar包中。...通过查看java命令的帮助文档,我最初以为通过设置-classpath参数来指定外部依赖包就可以轻松解决。然而事情的发展并非我所愿,运行时仍然报告找不到第三方Jar包中相关类的错误。...查阅文档,发现: 当使用-jar参数运行的时候,java VM会屏蔽所有的外部classpath,而只以本身yourJar.jar的内部class作为类的寻找范围。

1.4K70

JAVAJava基础之CLASSPATH环境变量

CLASSPATH是个啥 CLASSPATH直译过来是类路径,是Java环境配置中要设置的一个环境变量,就是.class文件的路径,表示JVM从哪里去寻找要运行的class文件,CLASSPATH...CLASSPATH能干啥 在java5之前CLASSPATH没有默认值,如果想要使用当前路径作为类路径的话,可以使用“.”,用“.”表示当前路径;若CLASSPATH=....CLASSPATH 怎么配置 从Java5开始CLASSPATH默认就是当前路径,一般情况下就不需要再设定了。若使用Java5以前的版本,需要设置环境变量CLASSPATH为: CLASSPATH ....;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar 其中dt.jar是关于java运行环境的类库;tools.jar是工具类库; 在java5中,sun...公司改进了JDK设计,JRE会自动搜索当前路径下的jar包,并自动加载dt.jar和tools.jar

11.9K41

执行jar包中指定main方法

通过maven将应用打成jar包之后,可以通过java -jar ***.jar来执行,会运行指定的main方法,主要是 MANIFEST.MF 中指定的 main 方法;那么如果有多个main方法的时候如何运行指定的...main方法哪,可以通过下面命令去执行 java -classpath ****.jar ****.****.className [args] 这里的****....****指的是包名; ****.className是类名称; args指传递进去的参数; 综上:运行jar有两种情况 1>maven打包之后通过MANIFEST.MF指定main方法 java -jar...方法;然后打包成jar运行的时候,如果要添加参数,直接添加在后面就可以了; java -jar mplus-service-jar-with-dependencies.jar aaa bbb 2>如果没有在...MANIFEST.MF中指定jar中有多个main方法,指定运行某个特定的main方法的命令 java -cp mplus-service-jar-with-dependencies.jar com.smbea.dubbo.bin.Console

2.8K10

Java开发环境不再需要配置classpath

;%Java_Home%\bin;%Java_Home%\lib\dt.jar;%Java_Home%\lib\tools.jar 原代码详解: Java_Home代表了我们jdk的路径 dt.jar...tools.jar是工具类库,它在编译和运行一个类时被使用 当我们配置classpath后,系统会根据我们所配置的classpath加载类 例如:在我们使用javac命令编译程序时,系统加载tools.jar...其实就封装了下面这样一条命令 javac XXX.java java -Classpath=%JAVA_HOME%\lib\tools.jar xx.xxx.Main XXX.java 当然tools...在JDK1.5以后,classpath并不是必须配置了,在JDK1.5之前,是没有办法在当前目录下加载类的(找不到 JDK目录下lib文件夹中的.jar文件),所以我们需要通过配置classpath,但...通过官方的文档说明我们可以看到,rt.jar和tool.jar这两种属于java平台自身的包就不需要添加到classpath中,只有一些第三方类或者自定义类需要,也并不推荐使用配置CLASSPATH的方法

1.4K50

Java 开发环境不再需要配置 classpath

;%Java_Home%\bin;%Java_Home%\lib\dt.jar;%Java_Home%\lib\tools.jar 1.1 原代码详解 Java_Home代表了我们jdk的路径 dt.jar...tools.jar是工具类库,它在编译和运行一个类时被使用 当我们配置classpath后,系统会根据我们所配置的classpath加载类 例如:在我们使用javac命令编译程序时,系统加载tools.jar...其实就封装了下面这样一条命令 javac XXX.java java -Classpath=%JAVA_HOME%\lib\tools.jar xx.xxx.Main XXX.java 当然tools的功能可不止这一点...在JDK1.5以后,classpath并不是必须配置了,在JDK1.5之前,是没有办法在当前目录下加载类的(找不到 JDK目录下lib文件夹中的.jar文件),所以我们需要通过配置classpath,但...通过官方的文档说明我们可以看到,rt.jar和tool.jar这两种属于java平台自身的包就不需要添加到classpath中,只有一些第三方类或者自定义类需要,也并不推荐使用配置CLASSPATH的方法

1.8K10

gradle、maven项目配置jar输出指定位置

通常情况下,我们项目在通过Gitlab做CICD部署的时候,运维会统一让我们把需要部署的java编译后的jar包文件重命名并且拷贝到项目根目录下的deploy/app.jar,然后就统一引用一个构建脚本...,目前我们项目组gralde和maven项目都有,基本上都是通过插件实现拷贝重命名到指定位置,当然gradle直接写脚本就可以简单拷贝,下面给出一些配置参考,仅做备忘。...系统属性:定义在操作系统中的属性,例如JAVA_HOME、M2_HOME等。 环境属性:定义在操作系统的环境变量中的属性,例如PATH、JAVA_HOME等。...Java系统属性:通过 JVM 中-D参数传递的属性,例如java.home、user.home等。 命令行属性:通过命令行参数传递的属性,例如-DpropertyName=value。...") into("${rootDir}/deploy/") rename("${project.name}-${version}.jar", "app.jar") } assemble.finalizedBy

1.2K40

java classpath环境变量(linux配置java环境变量)

CLASSPATH 编译、运行Java程序时,JRE会去该变量指定的路径中搜索所需的类(.class)文件,很多配置教程都让我们设置CLASSPATH环境变量为:....不配置CLASSPATH,JRE会自动搜索当前路径下的类文件。编译、运行时,系统可以自动加载dt.jar和tools.jar文件中的Java类。   ...解决方法是(1)将当前目录的子目录用set命令临时添加到CLASSPATH中(只在当前窗口生效),这时就可以运行了: (2)此外想在运行Java程序时临时指定JRE搜索Java类的路径,也可以使用-classpath...也就是说,使用了-classpath选项后,JRE将严格按-classpath指定的路径来搜索Java类。如果想使CLASSPATH环境变量指定的路径还生效,可以按下面的格式来运行Java程序。...java -classpath %CLASSPATH%;.;dir 类名 小结: 1、 path环境变量是先在当前目录找执行程序,如果没有,再到path指定目录中去寻找。

4.7K40
领券