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

java -jar 启动程序设置classpath

目录 前言 java 类加载器与路径 java 设置路径的方法 设置 bootclasspath 设置 Extensions JAR files 设置 classpath 测试程序 java -jar...参考这里这里。 替换掉JAR中的MANIFEST.MF。 尽量选择个靠谱的压缩包操作软件,比如winrar。...\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.8K20

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.5K70
您找到你想要的搜索结果了吗?
是的
没有找到

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这个环境变量的规则是:先从当前路径下寻找,如果找不到才会到

80340

Spark Submit的ClassPath问题

在我们的Scala项目中,可以直接将要依赖的jar包放在module的lib文件夹下,在使用sbt执行编译打包任务时,会自动将lib下的jar包放入classpath中。...那么,需要解决的第一个问题是:由于客户的jar包不能拷贝到我的开发环境中,该如何处理该依赖? 既然在开发环境下拿不到这个jar包,那就做一个mock包吧。..." } } 部署包确实不再包含这个外部依赖包了,但是在部署时,我们还得将真实的jar包放入到部署环境的classpath中。...然而事与愿违,当我们将真正的jar包放在本地的classpath中时,运行时却找不到这个jar包。问题出现在哪里?...因为这个文件的内容需要区分测试环境生产环境。在部署到生产环境中时,需要替换为另一个key文件。客户的文档说明,需要将该文件(不是jar文件)放到运行的classpath中。

4.2K90

javacjava命令行中的-classpath选项

javacjava命令行中的-classpath选项 这是个很基础的问题,但是因为基本上都是用现有的IDE工具 来开发java程序,所以很少有人意识到这一点 先来看几个小例子: 一、测试java命令中的...;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar 如果把....;去掉则无法执行,此时如果执行java -classpath . com.cn.andy.Hello 则还可以正常执行 2、 同样,如果将d:/test1/target目录设置进classpath环境变量中...6、 执行javac -classpath d:/test1/src -d d:/test1/target Hello2.java编译成功 (1).何时需要使用-classpath:当你要编译或执行的类引用了其它的类...(CLASSPATH是用来指定.class路径的,不是用来指定.java文件的路径的)

8K40

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.jartools.jar

12.5K41

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...JDK1.5之后,JRE能自动搜索目录下类文件,并且加载dt.jartool.jar的类。...See The Extension Mechanism at 类路径告诉JDK工具应用程序在哪里可以找到第三方用户定义的类,这些类既不是Java平台的扩展,也不是Java平台的一部分。...通过官方的文档说明我们可以看到,rt.jartool.jar这两种属于java平台自身的包就不需要添加到classpath中,只有一些第三方类或者自定义类需要,也并不推荐使用配置CLASSPATH的方法

1.5K50

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...JDK1.5之后,JRE能自动搜索目录下类文件,并且加载dt.jartool.jar的类。...See The Extension Mechanism at 类路径告诉JDK工具应用程序在哪里可以找到第三方用户定义的类,这些类既不是Java平台的扩展,也不是Java平台的一部分。...通过官方的文档说明我们可以看到,rt.jartool.jar这两种属于java平台自身的包就不需要添加到classpath中,只有一些第三方类或者自定义类需要,也并不推荐使用配置CLASSPATH的方法

1.9K10

一篇文章搞定 java 中的 path classpath

2. classpath 2.1 classpath 的作用 jar 包的搜索路径,告诉应用程序去哪里寻找 class。默认为当前目录。在实际的应用时,一般不需要设置 classpath。...2.2 classpath的使用方式 2.2.1 通配符 1. 匹配所有 .jar 或者 .JAR 如 -cp mydir/* 用来查找 mydir 下所有 .jar或者.JAR结尾的文件。...2.3 classpath的应用场景 打包是没有指定主类,可以用java -cp xxx.jar 主类名称(绝对路径) 要引用其他的jar包,可以用java -classpath $CLASSPATH:...首先必须要有必须的 jar ? 我们所依赖的 jar 也都被放进了 classpath ?...所以基本 jar 依赖的问题就解决了, 其次,我们需要正确的 class files 路径。 ? 设置了 build 后的路径为 ${PROJECT_ROOT}/target。 ?

91930

java -jar与nohup java -jar的区别

作为Java程序员,经常会面临一个选择,打完jar包,测试或者上线生产的时候,javajar or nohup java -jar?...---- java -jar a.jar & 直接启动jar文件,在当前会话进程中开启一个子进程来运行程序,这个子进程会随着会话进程的结束而结束。 这种情况适合短时间测试用。...---- nohup java -jar a.jar& hangup (挂断),终端退出时会发送 hangup 信号来通知其关闭所有子进程。...nohup(不挂断,忽略挂断信号) nohup 的使用是十分方便的,只需在要处理的命令前加上 nohup 即可,标准输出标准错误缺省会被重定向到 nohup.out 文件中。...源 本文链接:https://www.findmyfun.cn/the-difference-between-java-jar-and-nohup-java-jar.html 转载时须注明出处及本声明。

1.5K30
领券