java -cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库,jar包之类,需要全路径到jar包,window上分号“;”

格式:

java -cp .;myClass.jar packname.mainclassname

表达式支持通配符,例如:

java -cp .;c:\classes01\myClass.jar;c:\classes02\*.jar  packname.mainclassname

java -jar myClass.jar

执行该命令时,会用到目录META-INF\MANIFEST.MF文件,在该文件中,有一个叫Main-Class的参数,它说明了java -jar命令执行的类。

用maven导出的包中,如果没有在pom文件中将依赖包打进去,是没有依赖包。

1.打包时指定了主类,可以直接用java -jar xxx.jar。

2.打包是没有指定主类,可以用java -cp xxx.jar 主类名称(绝对路径)。

3.要引用其他的jar包,可以用java -classpath $CLASSPATH:xxxx.jar 主类名称(绝对路径)。其中 -classpath 指定需要引入的类。

下面基于pom和META-INF\MANIFEST.MF两个文件的配置,进行了三种情况的测试:

pom.xml的build配置:

org.apache.maven.plugins

maven-compiler-plugin

3.1

1.8

1.8

maven-assembly-plugin

test.core.Core

jar-with-dependencies

make-assemble

package

single

META-INF\MANIFEST.MF的内容:

Manifest-Version: 1.0

Main-Class: test.core.Core

1.pom中build指定mainClass 但是 META-INF\MANIFEST.MF文件中没有指定Main-Class: test.core.Core

java -jar test-jar-with-dependencies.jar //执行成功

java -cp test-jar-with-dependencies.jar  test.core.Core  //执行失败,提示jar中没有主清单属性

2.pom中build没有指定mainClass 但是 META-INF\MANIFEST.MF文件中指定了Main-Class: test.core.Core

java -jar test-jar-with-dependencies.jar //执行失败,提示jar中没有主清单属性

java -cp test-jar-with-dependencies.jar  test.core.Core  //执行成功

3.pom中build指定mainClass && META-INF\MANIFEST.MF文件中增加了Main-Class: test.core.Core

java -cp test-jar-with-dependencies.jar  test.core.Core  //执行成功

java -jar test-jar-with-dependencies.jar  //执行成功

java -cp 命令 java jar 命令和 hadoop jar 命令

-cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库,jar包之类,需要全路径到jar包,window上分号“;”  java -cp .;myClass.jar pa ...

java -cp & java jar的区别

java -cp java -cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库和jar包,需要全路径到jar包,多个jar包之间连接符:window上分号“;”.Lin ...

java -jar 和 java -cp 区别

原创转载请注明出处: Project Directory SRC MainTest.java pac ...

java程序打包成jar

1. 建立文件夹:proj,在该文件夹下建立3个子文件夹:lib,src 2. 在lib文件夹中放置依赖的jar包 3. 在src中放置类文件:com.cnjava.demo.Main.java 4. ...

java cp命令

java -cp .;c:\dir1\lib.jar Test    -cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库,jar包之类,需要全路径到jar包,windo ...

javac -cp java -cp

/ 编译java文件的命令都知道 ...

linux下java命令行引用jar包

一般情况下: 如果java 文件和jar 包在同一目录 poi-3.0-alpha3-20061212.jar testTwo.java 编译: javac -cp poi-3.0-alpha3-2 ...

java -cp 用法介绍

java -cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库,jar包之类,需要全路径到jar包,window上分号“;” 分隔,linux上是分号“:”分隔.不支持通 ...

Java:Linux上java -jar xxx.jar&java -cp 区别

java -cp java -cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库和jar包,需要全路径到jar包,多个jar包之间连接符:window上分号“;”.Lin ...

随机推荐

React Native MAC上环境搭建笔记

今天花了一点时间搭建了一下react native环境,在这个过程中遇到了一些问题,处理并总结一下,年纪大了记性不好,只能多写写...真是岁月不饶人啊! 第一步:安装最新版本的Xcode工具 第二步: ...

使用navicat连接mysql要报10038的错误

1.mysql的设置 (1)授权mysql>grant all privileges on *.*  to  'root'@'%'  identified by 'youpassword'  w ...

The declared package does not match the expected package

The declared package does not match the expected package. 1.选中项目右击选择Build Path-->再选择Configure Bui ...

JQuery知识快览之一—选择器

阅读指导:本文参考最新的1.10.2版写成,针对用得比较多的1.4版,所有1.5版之后的函数都会注明哪一版新增.对于熟悉1.4版想学1.10版的请直接搜索"新增". JQuery是 ...

php curl getinfo

<?php     $ch = curl_init("http://www.baidu.com/"); echo "



";print_r ...



hlsl 的tex函数

texCUBE http://msdn.microsoft.com/en-us/library/windows/desktop/bb509687(v=vs.85).aspx

Java &lbrack;Leetcode 190&rsqb;Reverse Bits

题目描述: everse bits of a given 32 bits unsigned integer. For example, given input 43261596 (represente ...

奔跑的xiaodao

http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=2086 很明显的一个二分题目.因为要 ...

原生ajax封装,数据初始化,

var ajaxTool = { setting : { method : 'get', url : location.href, data : '', callback : function(){a ...

Java基础系列--02&lowbar;运算符和程序的语句

运算符: (1)算术运算符: +,-,*,/,%,++,--(加.减.乘.除.取余.自增,自减) ++和--的注意事项: a:他们的作用是自增或者自减 b:使用 1.单独使用 放在操作数据的前面和后面 ...