「java-cp指令」java cp是什么命令

博主:adminadmin 2023-01-13 22:21:07 404

本篇文章给大家谈谈java-cp指令,以及java cp是什么命令对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

命令行运行java程序,引入的其他jar包时,如何解决?

java -cp .;A.jar B\x0d\x0a\x0d\x0aA 是你的jar包,跟B放在一个文件夹就行。如果不在一个地方,就要指定了,如:\x0d\x0a java -cp .;d:\A.jar B\x0d\x0aB 就是你要执行的类 \x0d\x0a==================\x0d\x0a原理:\x0d\x0ajava 是执行编译后的class的,这个不用多说,都知道...\x0d\x0a-cp 就是引入外部 zip包或者jar包。\x0d\x0a 正确来说就相当于你在环境变量配置的classpath后的参数。\x0d\x0a 即:指定运行时需要的class。\x0d\x0a 其中 . 是在当前目录找 ; 以后后面的,是到你指定的目录找 \x0d\x0a==================\x0d\x0a你看我给的例子了吗?我可没那么说。\x0d\x0a第一行可是这么写的:java -cp .;A.jar B (A、B的解释在上面) \x0d\x0a.; 也别给漏了

java指定日志配置路径命令

单独的Java程序包, 需要通过命令java -jar或java -cp的方式启动;

我们可以在启动命令中加入系统运行时变量, 在log4j加载配置文件之前通过System.getProperties(“path”)读取此变量, 即可实现灵活加载当前路径.

(1) 启动脚本设置:

假设当前项目的目录结构为:

/Projects/KafkaConsumer

丨 bin 项目的启动脚本

丨 conf 项目的配置文件

丨 lib 项目的其他依赖包

丨 bogs 项目的日志输出路径

启动脚本位于bin目录下, 内容示例如下:

# 获取当前脚本所处的目录, 然后进入其上级目录, 最后pwd输出该目录, 最终的结果是/Project/KafkaConsumerbase_dir=$(cd `dirname $0`; cd ..; pwd)# 获取Java运行程序的位置, 并指定主类java_bin=$(which java)main_class=”org.shoufeng.elastic.ConsumerMain”# 通过-cp、扩展CLASSPATH、指定主类的方式启动项目, # 并通过“-D”的方式向此程序的运行时环境中设置当前项目的路径,# 即可在程序中通过System.getProperty(“base.dir”)获取此路径 nohup ${java_bin} -Dbase.dir=${base_dir} -cp ${CLASSPATH}:${base_dir}/conf:${base_dir}/lib/* ${main_class} /dev/null

(2) Java程序读取变量:

实log4j的FileAppender本身支持动态设置文件路径, 如:

log4j.appender.logfile.File=${base.log}/logs/app.log

其中“${base.log}”是一个变量, 会被System Property中的base.log的值代替, 代码中的使用方式为:

public static void main(String[] args) { // 获取系统运行时变量中的日志文件的输出路径 // 此变量需要在启动命令中通过-D的方式设置 String baseDir = System.getProperty(“b

Java 的命令行 编译和运行参数 如:-cp 怎么理解?

javac

用法:javac 选项 源文件

其中,可能的选项包括:

-g 生成所有调试信息

-g:none 不生成任何调试信息

-g:{lines,vars,source} 只生成某些调试信息

-nowarn 不生成任何警告

-verbose 输出有关编译器正在执行的操作的消息

-deprecation 输出使用已过时的 API 的源位置

-classpath 路径 指定查找用户类文件的位置

-cp 路径 指定查找用户类文件的位置

-sourcepath 路径 指定查找输入源文件的位置

-bootclasspath 路径 覆盖引导类文件的位置

-extdirs 目录 覆盖安装的扩展目录的位置

-endorseddirs 目录 覆盖签名的标准路径的位置

-d 目录 指定存放生成的类文件的位置

使用-d参数,如类中定义了包,则编译时会自动生成包, 如:javac -d . helloworld.java

表示在当前目录下编译Helloworld 类。.表示当前目录,如helloword中定义有包,则在当前目录下生成包:

-encoding 编码 指定源文件使用的字符编码

-source 版本 提供与指定版本的源兼容性

-target 版本 生成特定 VM 版本的类文件

-version 版本信息

-help 输出标准选项的提要

-X 输出非标准选项的提要

-J标志 直接将 标志 传递给运行时系统

java

用法: java [-选项] 类 [参数...]

(执行一个类)

或者 java [-选项] -jar jar文件 [参数...]

(执行一个jar文件)

其中,可能的选项包括:

-client 选择 "client" VM(ginger547:应该是指Virtual Machine)

-server 选择 "server" VM

-hotspot 与 "client" VM同义 [不赞成]

默认情况的VM是client.

-cp 一个文件夹和zip/jar文件组成的类搜索路径

-classpath 一个文件夹和zip/jar文件组成的类搜索路径

一个由文件夹,JAR压缩文件,或者ZIP压缩文件组成的用来搜索类的列表

-D名字=值

设置一个系统属性

-verbose[:class|gc|jni]

使详细输出变的可用

-version 打印产品版本然后退出

-version:值

只运行指定版本

-showversion 打印产品版本后继续

-jre-restrict-search | -jre-no-restrict-search

在版本搜索的时候,包含/排除用户私人的JRE

-? -help 打印帮助信息

-X 打印非标准选项帮助

-ea[:包名...|:类名]

-enableassertions[:包名...|:类名]

使断言可用

-da[:包名...|:类名]

-disableassertions[:包名...|:类名]

是断言不可用

-esa | -enablesystemassertions

使系统级断言可用

-dsa | -disablesystemassertions

使系统级断言不可用

-agentlib:库名[=选项]

加载本地代理库库名,例如. -agentlib:hprof

同时可查看, -agentlib:jdwp=help和 -agentlib:hprof=help

-agentpath:路径名[=选项]

通过全路径名来加载本地代理库

-javaagent:jar路径[=选项]

加载Java编程语言代理,可查看 java.lang.instrument

请问 java -cp ".\\bin;.\\libs\\*;" org.testng.TestNG .\\testng.xml 这是什么意思?

------先解释整体命令的意思,拆成三部分解释:

首先 cp 是设置classpath(如果不知道这是啥 把他暂时理解为java搜索类文件的路径就行)的缩写方式,是java的参数;

后面的org.testng.TestNG是包含main方法类的全名,同样是java参数

最后的.\\testng.xml是程序参数,或者说是main方法里的参数

--------之后解释\与\\的问题

\是windows系统代表文件路径级别的方式,点(.)则代表着当前目录,.\bin表示的是当前目录下的bin文件夹;libs同样如此;

让后就是这个双杠了,在编程的字符串中,\代表着转义字符,例如\n,\t分别对应于换行和TAB,而在字符串里表示windows路径时,我们本意需要的就是\本身,故而使用\\,做为\的转义字符;

上述情况是在编码中的字符串常量里表达的,这里我大胆的猜一下,可能写这个命令的人理解错了一些东西,作为参数,\是不需要转义的;而操作系统有这样一个默认,即输入多个杠表示的是同一级路径,比如C:\与C:\\\\\\\\都可以代表C盘根目录,所以即使写了多个杠也一样能正常使用。

------------最后说引号

这个是命令的问题,一般来讲,执行命令时会把空格后的东西当成参数,但有时,参数本身就带有空格,比如“C:\Program Files”这个路径,用引号引起来,是为了告诉命令的执行者C:\Program Files是一个不可分割的整体,不要把Files单独的当成参数了。

一般而言,出现此类情况都是文件夹名称的问题,所以在打命令时,习惯了将表达路径的参数用引号引起来,使程序不会因为路径中带有空格而出问题。

------------其它的一些建议

1.classpath是个比较重要的概念,需要好好了解一下。

2.编码里最好少用\\,这是windows的表达方式,当你需要java的跨平台特性时,可能会遇到麻烦(比如linux就不认);你可以使用/来表示路径结构,例如/C:/windows/

关于java-cp指令和java cp是什么命令的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。