`
programmer
  • 浏览: 76462 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

java -jar命令 运行一个jar包的classpath的疑惑

阅读更多
问题:
我自己写了一个小程序用于连接数据库,这个程序使用了一个第三方的包(classes12.jar),在ide运行没有问题,然后我把 此小程序打成了一个jar包:db.jar.然后在dos 中用命令行运行。步骤如下:
1.set classpath=d:\classer12.jar
2.java -jar db.jar
结果提示 找不到 classes12.jar
为什么难道运行jar包里的main 文件不能访问第三的包吗?(我觉得不可能)有人会问,会不会是别的环境设置不对,影响运行。但我用下列方式就能运行:
1.set classpath=d:\classer12.jar;d:\db.jar
2.java TestMain
能正确运行
其中:TestMain 是db.jar 的Main 文件。

希望大家都说一些自己看法,谢谢!
分享到:
评论
7 楼 programmer 2006-10-29  
还是平时看书的时候没有特别注意,看了ibm上的一篇技术文章已经彻底解决了我的疑惑.
首先jar 分可执行jar 和非可执行jar

一个可执行的 JAR 必须通过 menifest 文件的头引用它所需要的所有其他从属 JAR。如果使用了 -jar 选项,那么环境变量 CLASSPATH 和在命令行中指定的所有类路径都被 JVM 所忽略。 (http://www-128.ibm.com/developerworks/cn/java/j-jar/index.html)所以我设置的classpath无效。

6 楼 programmer 2006-10-29  
我觉得用:
set classpath=d:\classes12.jar
java -jar db.jar
应该就能得到我想要的结果,但为什么会抛出 ClassNotFoundException 异常,找不到oracle.jdbc.OracleDriver 类。
谁能说出理由吗?
5 楼 programmer 2006-10-29  
[抛出异常的爱],你说的方法我在 sun 网站上看到过。我也试过,怎么写都不对。你能给出一个具体的执行步骤。谢谢!
4 楼 抛出异常的爱 2006-10-28  
java
-classpath <class search path of directories and zip/jar files>
              A ; separated list of directories, JAR archives,
              and ZIP archives to search for class files.
3 楼 programmer 2006-10-28  
就是提示:ClassNotFoundException 找不到,只不过我没有说的那么详细
2 楼 programmer 2006-10-28  
sorry,笔误 classes12.jar
还是找不到。
1 楼 foxty 2006-10-28  
1.set classpath=d:\classer12.jar
2.java -jar db.jar
结果提示 找不到 classes12.jar


看清楚,你设置的是classer12.jar是不是自己写错了?如果不是写错路径,那么应该是ClassNotFoundException。而不是提示找不到jar了。

相关推荐

    mysql-connector-java-8.0.30-jar包

    3. **版本号 8.0.30**: 这是 MySQL Connector/J 的一个具体版本,意味着它支持 MySQL 数据库服务器的 8.0.x 版本。每个新版本通常会包含性能优化、新功能、安全修复和对旧版本的兼容性改进。 4. **jar 文件格式**: ...

    mysql-connector-java-5.1.7 jar包

    MySQL是世界上最流行的开源关系型数据库管理系统之一,而`mysql-connector-java-5.1.7.jar`是MySQL官方为了使得Java应用程序能够连接到MySQL数据库而提供的JDBC(Java Database Connectivity)驱动程序。JDBC是Java...

    编译运行java带jar包

    在Java编程环境中,有时我们需要将多个类打包成一个可执行的JAR(Java Archive)文件,以便于分发和执行。这个过程涉及到编译Java源代码、创建类路径(classpath)、构建MANIFEST.MF文件以及最终打包成JAR。下面我们...

    mysql-connector-java-5.1.49.jar

    "mysql-connector-java-5.1.49.jar"是这个驱动程序的一个特定版本,版本号为5.1.49,它是MySQL官方提供的开源组件,适用于Java开发环境。 在Java应用中,如JIRA(一个流行的项目管理和问题跟踪工具),MySQL ...

    关于执行java命令引入外部jar包方法

    例如,如果有一个名为`mysqlJdbc.jar`的JAR包,且该文件位于`E:\`目录下,可以通过以下步骤将其添加到`CLASSPATH`中: 1. 打开系统环境变量设置界面。 2. 查找`CLASSPATH`变量,若不存在则创建一个。 3. 在`...

    mysql-connector-java-8.0.25-jar

    MySQL Connector/J 8.0.25 是一个用于Java应用程序的数据库驱动程序,它使得Java开发者能够连接到MySQL数据库服务器并执行SQL操作。这个jar文件是MySQL官方提供的,确保了与MySQL服务器的兼容性和稳定性。在本文中,...

    mysql-connector-java-5.1.47.jar

    在Java开发环境中,`mysql-connector-java-5.1.47.jar` 文件是一个必不可少的组件,因为它是连接到MySQL服务器的桥梁。JDBC驱动程序分为四种类型:Type 1、Type 2、Type 3 和 Type 4,而MySQL Connector/J 属于Type ...

    mysql-connector-java-5.1.40.zip和mysql-connector-java-5.1.10.jar

    `mysql-connector-java-5.1.10.jar` 是一个JAR(Java Archive)文件,是MySQL Connector/J的一个特定版本,即5.1.10。JAR文件是Java平台特有的归档格式,用于封装类文件、资源文件等,便于在Java环境中运行和分发。...

    mysql连接包mysql-connector-java-5.1.27.jar

    `mysql-connector-java-5.1.27.jar`是这个驱动的一个特定版本,它允许Java开发者在他们的应用中无缝地访问和操作MySQL数据库。 MySQL连接器(JDBC驱动)是Java Database Connectivity (JDBC)的一部分,JDBC是Java ...

    java 连接sqlserver使用的java-sqlserver-connect.jar包

    在本例中,我们关注的是"java-sqlserver-connect.jar",这是一个专门为Java应用程序提供与Microsoft SQL Server数据库交互功能的库。这个JAR文件支持两个不同的Java运行时环境(JRE),即JRE7和JRE8。 首先,了解...

    mysql-connector-java-8.0.21.jar

    MySQL Connector/J 8.0.21 是MySQL数据库与Java应用程序之间的重要桥梁,它是一个实现了JDBC(Java Database Connectivity)规范的驱动程序,允许Java开发者在Java应用中连接和操作MySQL数据库。本资源提供的"mysql-...

    mysql-connector-java-5.1.47-bin.jar

    标题中的"mysql-connector-java-5.1.47-bin.jar"正是这个驱动程序的一个特定版本,5.1.47是其版本号,表示这是一个较旧但仍然广泛使用的稳定版本。 在Java编程中,当你需要在应用程序中连接到MySQL数据库时,这个...

    mysql-connector-java-8.0.11.jar

    在Java项目中,这些驱动通常会被添加到类路径(Classpath)中,使得Java虚拟机(JVM)在运行时能够找到它们。当需要连接数据库时,开发者会使用JDBC API,如`java.sql.DriverManager`类的`getConnection()`方法,...

    mysql-connector-java-5.1.45-bin.jar

    这个"mysql-connector-java-5.1.45-bin.jar"文件是该驱动的一个特定版本,即5.1.45版。这个版本是纯净且正版的,适合于Java开发者在他们的项目中直接集成使用。 在Java编程中,为了连接到MySQL数据库,我们需要一个...

    mysql-connector-java-5.1.7-bin.jar

    "mysql-connector-java-5.1.7-bin.jar" 文件就是这个桥梁,它是一个Java归档(JAR)文件,包含了MySQL JDBC驱动的所有必要组件。 MySQL JDBC驱动,也被称为MySQL Connector/J,允许Java应用程序通过遵循JDBC API来...

    mysql-connector-java-5.0.8-bin.jar包

    MySQL Connector/J是MySQL数据库系统与Java应用程序之间的重要桥梁,它是一个实现了JDBC(Java Database Connectivity)规范的驱动程序,使得Java开发者能够在Java平台上方便地访问MySQL数据库。标题中的"mysql-...

    java-json.jar.zip

    Java JSON.jar.zip是一个压缩包,其中包含了一个名为`java-json.jar`的Java库,这个库主要功能是处理XML和JSON之间的转换。XML(Extensible Markup Language)和JSON(JavaScript Object Notation)是两种广泛用于...

    java-unrar-0.3.jar以及commons-logging-1.1.1.jar

    1. **java-unrar-0.3.jar**: 这是一个开源的Java库,允许开发者在Java程序中读取和解压RAR文件。这个库实现了RAR文件格式的解析,使得Java程序员可以访问RAR文件的内容,包括提取文件、遍历目录结构等操作。它不支持...

    mysql-connector-java-5.1.46.jar

    MySQL Connector/J 5.1.46 是一个用于Java应用程序连接到MySQL数据库的驱动程序,它是MySQL官方提供的Java Database Connectivity (JDBC) 驱动。这个特定版本5.1.46是针对MySQL数据库5.1系列的一个稳定版本,为...

Global site tag (gtag.js) - Google Analytics