java -cp classpath
Specify a list of directories, JAR archives, and ZIP archives to search for class files. Class path entries are separated by colons (:). Specifying -classpath or -cp overrides any setting of the CLASSPATH environment variable.
As a special convenience, a class path element containing a basename of * is considered equivalent to specifying a list of all the files in the directory with the extension .jar or .JAR (a java program cannot tell the difference between the two invocations).
For example, if directory foo contains a.jar and b.JAR, then the class path element foo/* is expanded to a A.jar:b.JAR, except that the order of jar files is unspecified. All jar files in the specified directory, even hidden ones, are included in the list. A classpath entry consisting simply of * expands to a list of all the jar files in the current directory. The CLASSPATH environment variable, where defined, will be simi-larly expanded. Any classpath wildcard expansion occurs before the Java virtual machine is started -- no Java program will ever see unexpanded wildcards except by querying the environment. For example; by invoking System.getenv("CLASSPATH").
For more information on class paths, see Setting the Class Path.
查看文档得到以上信息,以下是查找到的资料:
-cp 参数后面是类路径,是指定给解释器到哪里找到你的.class文件,
写法:
java -cp .;myClass.jar packname.mainclassname
classpath中的jar文件能使用通配符,如果是多个jar文件,要一个一个地罗列出来,从某种意义上说jar文件也就是路径。
要指定各个JAR文件具体的存放路径,相同路径有多个可使用通配符
java -cp .;c:/classes/myClass.jar;d:/classes/*.jar packname.mainclassname
packname.mainclassname为包含main方法的完全限定类名,如果在classpath中有多个还有main方法的类,通过此命令可以方便选定程序的入口。
例如:
#!/bin/sh
cd /home/work/bvpn/aaa/bin
pwd
nohup /usr/java/jdk1.6.0_11/bin/java -cp .:../lib/log4j-1.2.15.jar:/usr/java/jdk1.6.0_11/lib/dt.jar:/usr/java/jdk1.6.0_11/lib/tools.jar:/usr/java/jdk1.6.0_11/lib/:/usr/java/jdk1.6.0_11/lib/jradius-client.jar:../lib/mysql-connector-java-5.1.12-bin.jar authAgent.AuthAgentMain 2>&1 &
下面是一些遇到的问题:
1.jar -cp lib/referenced.jar -jar myworks.jar会执行报错,原因如下:
我们使用-jar选项的话java.exe会忽略-cp,-classpath,以及环境变量CLASSPATH的参数。
解决方法一:
不要使用-jar选项,直接调用含有main方法的class文件,这样-cp,-classpath以及环境变量里的CLASSPATH指定的参数就都能使用到了。
java -classpath ./lib/junit.jar:. test/Test1
解决方法二:
继续使用-jar选项,但是在MAINFEST.MF文件中指定引用到jar文件.
Class-Path: myplace/myjar.jar myplace/other.jar jardir/
另外说明一点:这个问题可能有些人遇不到,因为Java的版本不同的原因,我在Sun的JDK和IBM 1.5的JDK都遇到了这个问题,但是对于 IBM 1.4的JDK却没有类似问题
2. 批量加载包的方法:
(一)java命令引入jar时可以-cp参数,但时-cp不能用通配符(多个jar时要一个个写,不能*.jar),通常的jar都在同一目录,且多于1个。前些日子刚刚发现一个参数-Djava.ext.dirs~
如:java -Djava.ext.dirs=lib MyClass 【同样的weblogic中就有这样的参数:-Dweblogic.ext.dirs=$BEA_HOME/patch_weblogic920/profiles/default/sysext_manifest_classpath】
(二)通过Unix shell设置CLASSPATH方式加载(shell实在是方便)
CLASSPATH=`find ../lib -name *.jar|xargs|sed "s/ /:/g"`
CLASSPATH=".:$CLASSPATH
(三)cp 参数后面是类路径,是指定给解释器到哪里找到你的.class文件。使用java -cp命令可以调用一个其他目录下的带有main函数的类。格式为java -cp class文件的路径,下面的例子采用的相对路径。
String commandLine = "java -cp "+ "..\\kwicByPipeServer\\bin KWIC";
Process p = Runtime.getRuntime().exec(commandLine);
这样就可以调用了。
相关推荐
赠送jar包:weixin-java-cp-2.8.0.jar; 赠送原API文档:weixin-java-cp-2.8.0-javadoc.jar; 赠送源代码:weixin-java-cp-2.8.0-sources.jar; 赠送Maven依赖信息文件:weixin-java-cp-2.8.0.pom; 包含翻译后的API...
java运行依赖jar包
java运行依赖jar包
weixin-java-cp-4.0.9.B.jar weixin-java-miniapp-4.0.9.B.jar weixin-java-mp-4.0.9.B.jar weixin-java-open-4.0.9.B.jar weixin-java-pay-4.0.9.B.jar weixin-java-qidian-4.0.9.B.jar wx-java-miniapp-spring-...
微信 java weixin-java-tools-springmvc-master 微信 java weixin-java-tools-springmvc-master
赠送jar包:weixin-java-pay-2.8.0.jar; 赠送原API文档:weixin-java-pay-2.8.0-javadoc.jar; 赠送源代码:weixin-java-pay-2.8.0-sources.jar; 赠送Maven依赖信息文件:weixin-java-pay-2.8.0.pom; 包含翻译后...
MySQL Connector/J 8.0.27 是 MySQL 官方提供的用于 Java 应用程序的数据库驱动程序,它实现了 JDBC(Java Database Connectivity)规范,使得 Java 开发人员能够方便地在 Java 应用中与 MySQL 数据库进行交互。...
这可以通过IDE如Eclipse或IntelliJ IDEA的设置,或者在命令行通过`java -cp`选项实现。 - 对于Web应用,可以将jar放入Tomcat或Jetty等服务器的`lib`目录下。 2. **连接数据库**: - 使用`DriverManager.get...
java -cp target/marshalsec-0.0.1-SNAPSHOT-all.jar marshalsec.<Marshaller> [-a] [-v] [-t] [<gadget_type> []] 参数说明: -a:生成exploit下的所有payload(例如:hessian下的...
torch-1.10.2-cp36-cp36m-manylinux1_x86_64.whltorch-1.10.2-cp36-cp36m-manylinux1_x86_64.whltorch-1.10.2-cp36-cp36m-manylinux1_x86_64.whltorch-1.10.2-cp36-cp36m-manylinux1_x86_64.whltorch-1.10.2-cp36-cp...
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer http://VPS/ExportObject 1099 开启ldap服务 java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer ...
- **添加至项目**:将jar文件添加到Java项目的类路径中,这可以通过IDE(如Eclipse、IntelliJ IDEA)的设置完成,或者在命令行中使用`java -cp`参数指定。 - **配置URL**:在Java代码中,通过`DriverManager.get...
本项目为WxJava的Demo演示程序,基于Spring Boot ,实现企业微信替代开发功能。... cp: corpId: 111 (企业ID 在此页面查看:https://work.weixin.qq.com/wework_admin/frame#profile) appConfigs:
3. 在运行Java应用时,通过`java -cp`命令行参数指定jar的位置。 接下来,让我们看看如何在Java代码中使用这个驱动建立数据库连接: ```java import java.sql.Connection; import java.sql.DriverManager; import ...
这可以通过设置IDE的构建路径、在命令行中使用`java -cp`选项或在运行时动态加载实现。一旦驱动被加载,就可以通过以下步骤连接到MySQL数据库: 1. 加载Driver:`Class.forName("com.mysql.cj.jdbc.Driver")` 2. ...
这可以通过在IDE(如Eclipse或IntelliJ IDEA)中设置库,或者在命令行中使用`java -cp`选项来实现。 2. **建立连接**:通过JDBC API创建数据库连接,使用`DriverManager.getConnection()`方法,传入数据库URL、...
微信Java开发工具包,支持包括微信支付、开放平台、公众号、企业微信/企业号、小程序等微信功能模块的后端开发。 Maven 引用方式 注意:最新版本(包括测试版)为 Maven Central... 企业号/企业微信:weixin-java-cp
2. **命令行**:如果在命令行环境下,可以使用`java -cp`选项指定包含驱动的目录或jar文件,或者在`CLASSPATH`环境变量中包含这个jar。 3. **Maven/Gradle**:对于使用构建工具如Maven或Gradle的项目,可以在pom....
MySQL是世界上最受欢迎的关系型数据库管理系统之一,而MySQL Connector/J则是MySQL官方提供的用于Java应用程序与MySQL数据库进行连接的驱动程序。这个"mysql-connector-java-8.0.23.zip"文件正是MySQL Connector/J的...
3. **命令行**:如果在命令行下运行Java应用,可以通过`java -cp`选项指定包含此JAR的类路径。 对于5.1.6版本,需要注意的是,这个版本可能不支持较新的MySQL特性,如JSON字段类型、窗口函数、CTE(公共表表达式)...