`
kakukemeit
  • 浏览: 32792 次
  • 性别: Icon_minigender_2
  • 来自: 南京
社区版块
存档分类
最新评论

java -jar classpath心得

 
阅读更多

java -jar classpath心得 

http://sddhn.blog.163.com/blog/static/128187792011102454152790/

 

如果单个jar文件,没有引用到其他jar文件,而且指定了Main-Class,可以这样运行:
java -jar hello.jar
如果执行的jar文件引用了其他jar文件,该怎么办?
这里hello.jar里面用到Log4j的Log
java -cp log4j-1.2.14.jar -jar hello.jar
这个想当然可以执行,实际上执行会出现ClassNotFoundException的
因为使用了 -jar 选项,环境变量 CLASSPATH 和在命令行中指定的所有类路径都被 JVM 所忽略

正确运行方式如下:
1、
java -cp lib\log4j-1.2.14.jar;hello.jar com.dhn.Hello (com.dhn.Hello为主类)
在windows下多个jar之间以分号(;)隔开,最后还需要指定运行jar文件中的完整的主类名
2、
java -jar hello.jar
但是需要修改hello.jar中的MANIFEST.MF,通过MANIFEST.MF中的Class-Path 来指定运行时需要用到的其他jar,
其他jar可以是当前路径也可以是当前路径下的子目录。多个jar文件之间以空格隔开
以下面的MANIFEST.MF文件为例
Manifest-Version: 1.0
Main-Class: com.ibm.portalnews.entrance.Main
Class-Path: lib\commons-collections-3.2.jar lib\commons-configuration-1.5.jar lib\commons-lang-2.3.jar lib\commons-logging.jar lib\dom4j-1.6.1.jar lib\jaxen-1.1-beta-7.jar lib\jdom.jar lib\log4j-1.2.14.jar

其中Manifest-Version表示版本号,一般由IDE工具(如eclipse)自动生成
Main-Class 是jar文件的主类,程序的入口
Class-Path 指定需要的jar,多个jar必须要在一行上,多个jar之间以空格隔开,如果引用的jar在当前目录的子目录下,windows下使用\来分割,linux下用/分割
文件的冒号后面必须要空一个空格,否则会出错
文件的最后一行必须是一个回车换行符,否则也会出错

分享到:
评论

相关推荐

    Excel数据操纵-jar包-jxl.jar

     将下载后的文件解包,得到jxl.jar,放入classpath,安装就完成了。  (很大总是不能很好的加载,我想补充一下:把你下载好的JXL.JAR包放入D:\JAVA\jre\lib\ext中(我的是JDK1.6)就OK了。我相信在配置TOMCAT时也...

    java 连接sql数据库时的心得

    根据提供的标题、描述以及部分代码内容,我们可以总结出以下关于使用Java连接SQL Server数据库的关键知识点: ### Java连接SQL Server数据库的基础知识 1. **环境配置**: - SQL Server版本:这里提到了`sql...

    JSP环境配置心得JSP环境配置心得

    《JSP环境配置心得》 在Java Web开发中,JSP(Java Server Pages)是一种用于创建动态网页的技术,而Tomcat则是一个广泛使用的Java应用服务器,特别适合部署JSP和Servlet应用。对于初学者来说,配置JSP环境可能会...

    值得保存的—JAVA环境变量设置———文档

    同时,学习编程不仅需要掌握基础语法,还要关注编程规范,如《JAVA代码编写的30条建议》中所提出的,以及提升个人素质,如高级程序员考试心得中所强调的逻辑思维、问题解决能力等。除此之外,深入理解各种框架,如...

    JavaEE学习实战笔记心得

    - **CLASSPATH**: 包含JDK的类库路径,如`lib`目录下的`tools.jar`等。 - **PATH**: 添加JDK的`bin`目录,以便可以在命令行任意位置调用Java命令。 - **Java程序编写与运行**: - 使用文本编辑器编写Java程序,...

    JAVA工程师实习一周总结.doc

    * AppClassLoader:负责加载应用程序主函数类和位于 $CLASSPATH 下的目录和 jar。 自定义类加载器 自定义类加载器是指在 Java 程序中定义自己的类加载器,以便于加载非标准的类文件或 jar 文件。自定义类加载器...

    S2SH框架搭建和心得

    《S2SH框架搭建和心得》 S2SH(Struts2、Spring、Hibernate)是一个经典的Java Web开发框架组合,它整合了三个强大的开源组件,以提供模型-视图-控制器(MVC)架构的解决方案。对于初学者来说,理解并熟练掌握S2SH...

    jdk+tomcat+jfreechart+sql_server2000安装心得

    ### jdk+tomcat+jfreechart+sql_server2000安装心得 #### JDK 安装与配置 1. **JDK安装步骤**: - 首先下载`j2sdk_5_0.exe`安装包。 - 选择安装路径`C:\jdk1.5.0`。 - 设置环境变量`JAVA_HOME`指向`C:\jdk1.5.0...

    java web实验报告

    %JAVA_HOME%\lib\tools.jar`。 2. **安装Tomcat** - Tomcat是一个开源的Servlet容器,用于部署Java Web应用。 - 下载并解压缩Tomcat安装包至指定位置。 - 运行Tomcat的启动脚本`startup.bat`,确保服务正常启动...

    Tomcat,Tomcat配制

    - 修改`classpath`变量,追加Tomcat的`servlet-api.jar`文件路径,即`%CATALINA_HOME%\lib\servlet-api.jar`。 3. **启动Tomcat**: - 使用命令行启动Tomcat服务(或者通过Tomcat的管理界面启动)。 - 在浏览器...

    数据库JDBC驱动试用心得.doc

    例如,MySQL需要添加mysql-connector-java驱动,Java DB则需要derby.jar,而Oracle需要classes12.jar。 为了简化开发过程,作者提供了一组简化后的JDBC常用函数,如建立数据库连接、执行SQL语句、关闭资源等。这些...

    张孝祥Java就业培训教程.pdf

    本书许多内容都来源于程序员圈子里的非正式交流,或源于某些成功的案例与作者的经验、心得,但这些东西对新手来说,是很难自学到的。作者从事了多年的软件开发和培训教学,非常清楚那些容易使新手困惑的问题,在学习...

    Linux64为搭建SPA JCO环境

    - 将`sapjco3.jar`添加到Java项目的类路径(classpath)中。这可以通过在`MANIFEST.MF`文件中指定,或者在运行Java应用时使用`-cp`或`-classpath`选项。 4. **编程接口**: - 开发Java代码,使用SAP JCO提供的API...

    Tomcat7032+SQLSERVER2005+JTDS130组合开发android4.0个人心得体会

    - 需要在Tomcat的`lib`目录下添加JTDS驱动(如`jtds-1.3.0.jar`),以便Java应用能够通过JDBC与SQL Server通信。 - 配置数据库连接字符串,包括服务器名称、数据库名、用户名和密码。 5. Android 4.0 开发环境: ...

    java 连接sql server数据库

    下载完成后,请将安装目录下的 lib 目录下的三个.jar 文件加到 CLASSPATH 中。如果使用的是 JBuilder 或 Eclipse,将这三个文件根据 IDE 的提示加到工程中也可。 升级 SQL Server 2000 升级 SQL Server 2000 是...

    jdk最简单好用的配置方法

    希望本文能帮助到正在学习Java的新手朋友们,同时也欢迎各位读者在评论区分享自己的经验和心得,共同进步。 通过这种方式配置JDK不仅简单易行,而且非常适合初学者快速入门。随着对Java开发的深入理解,还可以...

    linux 实验报告

    CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME PATH CLASSPATH ``` 3. 使用命令`source /etc/profile`使环境变量生效。 完成以上步骤后,可以通过执行`java -version`命令来...

Global site tag (gtag.js) - Google Analytics