java -cp 返回值_java -cp 用法介紹

Java -cp(或-classpath)用于指定运行时类路径,包含依赖库的路径,如jar包。Windows系统使用分号";"分隔,Linux系统使用冒号":"分隔。不支持通配符,需要列出所有jar包。示例包括:java -cp .;myClass.jar packname.mainclassname。-jar命令执行时会读取META-INF/MANIFEST.MF文件的Main-Class参数。通过不同方式指定类路径,可以配合MANIFEST.MF文件进行不同场景的应用。
摘要由CSDN通过智能技术生成

java -cp 和 -classpath 一樣,是指定類運行所依賴其他類的路徑,通常是類庫,jar包之類,需要全路徑到jar包,window上分號“;”

分隔,linux上是分號“:”分隔。不支持通配符,需要列出所有jar包,用一點“.”代表當前路徑。

格式:

java -cp .;myClass.jar packname.mainclassname

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

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

寫法:

java -cp .;myClass.jar packname.mainclassname

classpath中的jar文件能使用通配符,如果是多個jar文件,要一個一個地羅列出來,從某種意義上說jar文件也就是路徑。

要指定各個JAR文件具體的存放路徑,相同路徑有多個可使用通配符

java -cp .;c:\classes\myClass.jar;d:\classes\*.jar packname.mainclassname

java -jar myClass.jar

執行該命令時,會用到目錄META-INF\MANIFEST.MF文件,在該文件中,有一個叫Main-Class的參數,它說明了java -jar命令執行的類。

-cp 參數后面是類路徑,是指定給解釋器到哪里找到你的.class文件,

寫法:

java -cp .;myClass.jar packname.mainclassname

classpath中的jar文件能使用通配符,如果是多個jar文件,要一個一個地羅列出來,從某種意義上說jar文件也就是路徑。

要指定各個JAR文件具體的存放路徑,相同路徑有多個可使用通配符

java -cp .;c:\classes\myClass.jar;d:\classes\*.jar packname.mainclassname

例如,calss文件在D:\workspace\Test\src\sockettest 目錄下,然后class文件在sockettest 這個package下

進入這個目錄

D:\workspace\Test\src\sockettest>java -cp ../  sockettest.SocketServer1

如果是進入父目錄即 D:\workspace\Test\src

需要使用D:\workspace\Test\src>java -cp .  sockettest.SocketServer1

命令執行

java -cp java的cp命令

java -cp .;c:\dir1\lib.jar Test

-cp 和 -classpath 一樣,是指定類運行所依賴其他類的路徑,通常是類庫,jar包之類,需要全路徑到jar包,window上分號“;”

分隔,linux上是分號“:”分隔。不支持通配符,需要列出所有jar包,用一點“.”代表當前路徑。

使用范例:

java -cp ..\lib\hsqldb.jar org.hsqldb.Server -database mydb

java -cp ../lib/hsqldb.jar org.hsqldb.Server -databa

java -cp .;c:\dir1\lib.jar Test

-cp 和 -classpath 一樣,是指定類運行所依賴其他類的路徑,通常是類庫,jar包之類,需要全路徑到jar包,window上分號“;”

分隔,linux上是分號“:”分隔。不支持通配符,需要列出所有jar包,用一點“.”代表當前路徑。

使用范例:

java -cp ..\lib\hsqldb.jar org.hsqldb.Server -database mydb

java -cp ../lib/hsqldb.jar org.hsqldb.Server -databa

se.0 mydb -dbname.0 mydb

拷貝自ITEYE網站(留待筆記用)。

以下是兩個啟動腳本:

1.linux系統:

java -Dfile.encoding=GBK -cp .:../classes:../locale:../lis.jar:../lib/jcifs-1.2.17.jar:../lib/xalan.jar:../lib/xerces.jar:../lib/xercesImpl.jar:../lib/xmltransform.jar:../lib/xml-apis.jar:../lib/bsf.jar:../lib/bsh-1.2b7.jar:../lib/dbswing.jar:../lib/ifxjdbc.jar:../lib/jakarta-regexp-1.2.jar:../lib/jaxp.jar:../lib/jbcl.jar:../lib/jdbc2_0-stdext.jar:../lib/jdom.jar:../lib/jta-spec1_0_1.jar:../lib/Log4j.jar:../lib/mm.mysql-2.0.13-bin.jar:../lib/New_F1J9Swing.jar:../lib/New_Xalan.jar:../lib/oracle.jar:../lib/servlet.jar:../lib/Sprinta.jar:../lib/true_xalan.jar:../lib/commons-pool-1.2.jar:../lib/commons-dbcp-1.2.1.jar:../lib/commons-collections-3.1.jar:../lib/servlet-api.jar com.sinosoft.lis.tb.bpo.BPOServerStart compupacific 10

2.windows系統:

java -classpath .; com.nci.utility.FileDispatcher FileDispatcher_parken.properties

用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  //執行成功

---------------------

1匹配驗證-驗證Email是否正確

Java |

復制

2在字符串中查詢字符或者字符串

Java |

復制

3常用正則表達式

規則

正則表達式語法

一個或多個漢字

^[\u0391-\uFFE5]+$

郵政編碼

^[1-9]\d{5}$

QQ號碼

^[1-9]\d{4,10}$

郵箱

^[a-zA-Z_]{1,}[0-9]{0,}@(([a-zA-z0-9]-*){1,}\.){1,3}[a-zA-z\-]{1,}$

用戶名(字母開頭 + 數字/字母/下划線)

^[A-Za-z][A-Za-z1-9_-]+$

手機號碼

^1[3|4|5|8][0-9]\d{8}$

URL

^((http|https)://)?([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$

18位身份證號

^(\d{6})(18|19|20)?(\d{2})([01]\d)([0123]\d)(\d{3})(\d|X|x)?$

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值