我的测试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文件时,可能会遇到空指针异常(NullPointerException, NPE)的问题。本文将详细探讨导致此类问题的原因,并提供解决方案,特别是关于如何正确配置Java环境变量来避免...
要自动加载JAR文件并运行其中的类方法,我们需要以下几个步骤: 1. **获取JAR文件路径**:首先,我们需要知道JAR文件的物理位置。这可以通过用户输入、配置文件或系统环境变量来获取。 2. **添加到ClassPath**:...
### Java环境变量配置正确但双击JAR文件无法运行的解决方法 #### 一、问题背景与概述 在日常开发过程中,我们经常会遇到一个看似简单却让人头疼的问题:当Java环境变量配置正确后,尝试通过双击JAR文件来启动应用...
`java`是调用JVM(Java虚拟机)的命令,`-jar`选项表示指定的文件是jar包,应作为Java应用程序运行。`jarTest.jar`是我们要运行的jar包名称。最后的`&`符号表示在后台运行该命令,不会阻塞当前的shell会话,允许脚本...
为了方便用户运行JAR文件,还可以创建一个可执行的批处理文件(例如`run.bat`)来启动JAR应用。示例内容如下: ```batch set JAVA_HOME=C:\j2sdk1.4.2_08 set MAINCLASS=com.tds.crpms.getdatautil.ClientInfoUI %...
这些文件通过一个清单文件(MANIFEST.MF)进行组织,清单文件记录了关于.jar文件的基本信息,如主类(Main-Class)等,这对于运行Java应用是必需的。 使用"查看.jar文件工具",你可以: 1. 浏览文件列表:查看.jar...
当遇到Java UDF运行异常时,Greenplum的错误日志会记录详细的异常信息,帮助定位问题。同时,可以通过设置Java的日志框架,如Log4j,进一步获取更详细的运行日志,以便进行调试和优化。 总的来说,Greenplum中的...
1. **打开JAR文件**:使用`JarFile`类的构造函数,传入JAR文件的路径。这将打开JAR并允许访问其内容。记得使用`try-with-resources`语句处理资源关闭,以确保良好的异常处理。 ```java try (JarFile jar = new Jar...
在描述中提到的“Struts2.1.8所需要的所有的jar文件”是指为了运行和开发基于Struts2.1.8的应用程序所需的一系列核心库和依赖库。以下是对这些jar文件及其作用的详细解释: 1. **xwork-core-2.1.6.jar**:这是...
但是,由于Windows系统默认不支持Java平台,所以需要将.jar文件转换为.exe文件,使得非Java环境的用户也能轻松运行程序。 Jar2EXE是一款常见的工具,它允许开发者将.jar文件转换为.exe文件。这个工具提供了一种简便...
7. **权限管理**:Android 6.0及以上版本引入了运行时权限,上传文件可能需要请求WRITE_EXTERNAL_STORAGE或READ_EXTERNAL_STORAGE权限。 8. **线程管理**:文件上传通常在后台线程执行,避免阻塞主线程导致应用无...
本篇文章将深入探讨如何使用反射来解析jar文件并执行其中的Java代码。 首先,让我们理解jar文件的结构。Java Archive (JAR) 文件是Java平台上的归档文件格式,通常用于存储多个类文件、资源文件和其他元数据。这些...
在Java Web开发中,JSP(JavaServer Pages)和Servlet常用于构建动态网站,而文件上传功能是许多应用中不可或缺的一...在实践中,还需要注意处理可能出现的异常,如文件过大、格式不正确等问题,以提供良好的用户体验。
在Java开发过程中,`jar`(Java Archive)文件是一种重要的归档格式,它用于集合多个`.class`文件,也就是编译后的Java源代码,形成一个单一的可执行文件。这有助于减少部署应用程序所需的资源数量,并方便分发。当...
"struts2 jar文件"是该框架的核心组成部分,这些jar文件包含了Struts2运行所需的类库和资源,使得开发者能够便捷地实现请求处理、视图渲染和业务逻辑控制。 Struts2的jar文件通常包括以下几个关键组件: 1. **核心...
使用JAR文件的好处是方便分发和运行程序,同时也可以实现版本管理和依赖管理。 1. **打包与运行**:JAR文件的创建通常是通过JAVA的jar命令或者IDE(如Eclipse、IntelliJ IDEA)的打包功能完成的。运行JAR文件,可以...
这是一个已经打包好的Java可执行jar文件,它的功能是查询IP地址的物理地址,也就是MAC地址。在网络通信中,IP地址是逻辑地址,而MAC地址是物理网络接口的标识,两者结合可以实现数据在网络中的精确传输。这个工具...
Struts 是一个非常著名的开源框架,它主要用于构建企业级的Java Web应用程序。在Struts环境中,jar(Java Archive)文件是不...正确导入和管理这些jar文件,可以有效地避免运行时错误,并确保应用程序的稳定性和性能。
首先,我们要知道JAR文件是Java平台的一种归档格式,它用于集合多个Java类文件、资源文件和元数据,便于分发和运行。在SQL Server 2000的上下文中,JAR文件包含Java Database Connectivity (JDBC) 驱动,这是Java...
8. **部署与运行**: 当所有必要的jar文件都配置好后,开发者可以通过应用服务器(如Tomcat、WebLogic或JBoss)部署J2EE应用,然后应用程序就能通过Hibernate与Oracle数据库进行交互了。 9. **性能优化**: 使用...