`
kewise
  • 浏览: 4330 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

jar 文件运行异常

阅读更多
我的测试JAVA类内容如下:
/**
* @author Administrator
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class Test {
public Test(){}

public static void main(String[] args) {
//BarChartDemo bcd = new BarChartDemo();
System.out.println("AAAA");
}
}


我使用javac Test.java 编译通过 ,并生成CLASS文件
我使用java  Test 正常输出

然后,使用jar -cvf test.jar Test.class  生成test.jar包
然后手工修改MANIFEST.MF文件,增加 Main-Class:Test一行
Manifest-Version: 1.0
Created-By: 1.4.2_03 (Sun Microsystems Inc.)
Main-Class:Test

然后,执行一:
java test.jar
结果:
Exception in thread "main" java.lang.NoClassDefFoundError: test/jar

执行二:
java -jar test.jar
结果:
Exception in thread "main" java.io.IOException: invalid header field
        at java.util.jar.Attributes.read(Attributes.java:387)
        at java.util.jar.Manifest.read(Manifest.java:167)
        at java.util.jar.Manifest.<init>(Manifest.java:52)
        at java.util.jar.JarFile.getManifest(JarFile.java:158)

执行三:
set path=%path%;%java_home%\bin
set classpath=".;%java_home%\lib"
java -jar test.jar
结果:
Exception in thread "main" java.io.IOException: invalid header field
        at java.util.jar.Attributes.read(Attributes.java:387)
        at java.util.jar.Manifest.read(Manifest.java:167)
        at java.util.jar.Manifest.<init>(Manifest.java:52)
        at java.util.jar.JarFile.getManifest(JarFile.java:158)

执行四:
java -classpath "%classpath%;.;c:\cmdTest\test.jar" test
结果:
Exception in thread "main" java.lang.NoClassDefFoundError: test (wrong name: Tes
t)
        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:537)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12
3)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)

请各位指点一下,我错在哪里?
谢谢;

我的环境变量里:path,classpath,java_home都设置好了
分享到:
评论

相关推荐

    jar在命令行下运行空指针异常解决

    然而,在某些情况下,当尝试通过命令行运行这些JAR文件时,可能会遇到空指针异常(NullPointerException, NPE)的问题。本文将详细探讨导致此类问题的原因,并提供解决方案,特别是关于如何正确配置Java环境变量来避免...

    Java 自动加载JAR文件并运行其中的类方法

    要自动加载JAR文件并运行其中的类方法,我们需要以下几个步骤: 1. **获取JAR文件路径**:首先,我们需要知道JAR文件的物理位置。这可以通过用户输入、配置文件或系统环境变量来获取。 2. **添加到ClassPath**:...

    java环境变量配置好后双击jar文件无法运行的解决办法.doc

    ### Java环境变量配置正确但双击JAR文件无法运行的解决方法 #### 一、问题背景与概述 在日常开发过程中,我们经常会遇到一个看似简单却让人头疼的问题:当Java环境变量配置正确后,尝试通过双击JAR文件来启动应用...

    Linux下启动和停止jar包运行的脚本

    `java`是调用JVM(Java虚拟机)的命令,`-jar`选项表示指定的文件是jar包,应作为Java应用程序运行。`jarTest.jar`是我们要运行的jar包名称。最后的`&`符号表示在后台运行该命令,不会阻塞当前的shell会话,允许脚本...

    Eclipse 项目 打包成 可执行jar 文件

    为了方便用户运行JAR文件,还可以创建一个可执行的批处理文件(例如`run.bat`)来启动JAR应用。示例内容如下: ```batch set JAVA_HOME=C:\j2sdk1.4.2_08 set MAINCLASS=com.tds.crpms.getdatautil.ClientInfoUI %...

    查看.jar文件工具

    这些文件通过一个清单文件(MANIFEST.MF)进行组织,清单文件记录了关于.jar文件的基本信息,如主类(Main-Class)等,这对于运行Java应用是必需的。 使用"查看.jar文件工具",你可以: 1. 浏览文件列表:查看.jar...

    greenplum greenplum jar 文件

    当遇到Java UDF运行异常时,Greenplum的错误日志会记录详细的异常信息,帮助定位问题。同时,可以通过设置Java的日志框架,如Log4j,进一步获取更详细的运行日志,以便进行调试和优化。 总的来说,Greenplum中的...

    Java源文件读取JAR包文件.rar

    1. **打开JAR文件**:使用`JarFile`类的构造函数,传入JAR文件的路径。这将打开JAR并允许访问其内容。记得使用`try-with-resources`语句处理资源关闭,以确保良好的异常处理。 ```java try (JarFile jar = new Jar...

    Struts2.1.8所需要的所有的jar文件

    在描述中提到的“Struts2.1.8所需要的所有的jar文件”是指为了运行和开发基于Struts2.1.8的应用程序所需的一系列核心库和依赖库。以下是对这些jar文件及其作用的详细解释: 1. **xwork-core-2.1.6.jar**:这是...

    jar包转换成exe可执行文件jar2exe

    但是,由于Windows系统默认不支持Java平台,所以需要将.jar文件转换为.exe文件,使得非Java环境的用户也能轻松运行程序。 Jar2EXE是一款常见的工具,它允许开发者将.jar文件转换为.exe文件。这个工具提供了一种简便...

    Android端上传文件的jar包

    7. **权限管理**:Android 6.0及以上版本引入了运行时权限,上传文件可能需要请求WRITE_EXTERNAL_STORAGE或READ_EXTERNAL_STORAGE权限。 8. **线程管理**:文件上传通常在后台线程执行,避免阻塞主线程导致应用无...

    用反射解析jar文件并执行里面Java代码

    本篇文章将深入探讨如何使用反射来解析jar文件并执行其中的Java代码。 首先,让我们理解jar文件的结构。Java Archive (JAR) 文件是Java平台上的归档文件格式,通常用于存储多个类文件、资源文件和其他元数据。这些...

    Jsp上传文件所需jar包

    在Java Web开发中,JSP(JavaServer Pages)和Servlet常用于构建动态网站,而文件上传功能是许多应用中不可或缺的一...在实践中,还需要注意处理可能出现的异常,如文件过大、格式不正确等问题,以提供良好的用户体验。

    在jar包下找class文件

    在Java开发过程中,`jar`(Java Archive)文件是一种重要的归档格式,它用于集合多个`.class`文件,也就是编译后的Java源代码,形成一个单一的可执行文件。这有助于减少部署应用程序所需的资源数量,并方便分发。当...

    struts2 jar文件

    "struts2 jar文件"是该框架的核心组成部分,这些jar文件包含了Struts2运行所需的类库和资源,使得开发者能够便捷地实现请求处理、视图渲染和业务逻辑控制。 Struts2的jar文件通常包括以下几个关键组件: 1. **核心...

    大学JAVA课程设计_天天记事本 (源代码及打包好的JAR文件) 文件类型RAR _1.81 MB

    使用JAR文件的好处是方便分发和运行程序,同时也可以实现版本管理和依赖管理。 1. **打包与运行**:JAR文件的创建通常是通过JAVA的jar命令或者IDE(如Eclipse、IntelliJ IDEA)的打包功能完成的。运行JAR文件,可以...

    ksoap的jar文件&打包后的ipPhysicalAdress文件

    这是一个已经打包好的Java可执行jar文件,它的功能是查询IP地址的物理地址,也就是MAC地址。在网络通信中,IP地址是逻辑地址,而MAC地址是物理网络接口的标识,两者结合可以实现数据在网络中的精确传输。这个工具...

    strurs环境所需jar文件

    Struts 是一个非常著名的开源框架,它主要用于构建企业级的Java Web应用程序。在Struts环境中,jar(Java Archive)文件是不...正确导入和管理这些jar文件,可以有效地避免运行时错误,并确保应用程序的稳定性和性能。

    SqlServer2000jar文件

    首先,我们要知道JAR文件是Java平台的一种归档格式,它用于集合多个Java类文件、资源文件和元数据,便于分发和运行。在SQL Server 2000的上下文中,JAR文件包含Java Database Connectivity (JDBC) 驱动,这是Java...

    J2EE开发使用Hibernate所需要的jar文件,Oracle驱动

    8. **部署与运行**: 当所有必要的jar文件都配置好后,开发者可以通过应用服务器(如Tomcat、WebLogic或JBoss)部署J2EE应用,然后应用程序就能通过Hibernate与Oracle数据库进行交互了。 9. **性能优化**: 使用...

Global site tag (gtag.js) - Google Analytics