采用MANIFEST.MF之jar报错ClassNotFoundException解法

检查n多遍也试了n多次,证明下面是MANIFEST.MF文件正确写法:

Manifest-Version: 1.0

Premain-Class: cn.yandz.monitor.SizeOfObjectUtils
Can-Redefine-Classes: true
Class-Path: lib/json-lib-2.4-jdk15.jar lib/ojdbc14.jar lib/commons-beanutils-1.8.3.jar lib/commons-collections-3.2.1.jar lib/commons-lang-2.6.jar lib/commons-logging-1.1.3.jar lib/ezmorph-1.0.6.jar

然而通过java -javaagent:jagent.jar执行时一直报错:java.lang.ClassNotFoundException: net.sf.json.JSONObject

花费不少时间终于查明:把Class-Path: lib/xx.jar含义理解错了,其真正要求Class-Path引用的这些jar需要放到当前执行jar的目录下的lib目录中,而不是把他们打包进jar中的lib目录下。

时间: 2024-08-29 02:39:23

采用MANIFEST.MF之jar报错ClassNotFoundException解法的相关文章

android Eclipse导入com.android.internal.R和layoutlib.jar报错解决方案

今天导入一个项目,发现运行不能,红叉叉表示com.android.internal.R.的一系列引用都失败. 查了一下,这些都在一个SDK自带包layoutlib.jar中.SDK路径\platforms\api版本\data 下就有 layoutlib.jar 直接把这些扔到libs文件夹中,红叉叉消失,运行又报错:Conversion to Dalvik format failed with error 1 上网查了一下,大概意思是包中资源与项目资源引用冲突,于是继续查. 果然不负有心人,应

Access restriction:The type JPEGCodec is not accessible due to restriction on required library C:\Program Files\Java\jre6\lib\rt.jar 报错

报错: Access restriction:The type JPEGCodec is not accessible due to restriction on required library C:\Program Files\Java\jre6\lib\rt.jar   解决方法: Project -> Properties -> libraries, 先remove掉JRE System Library,然后再Add Library重新加入. 将jre项目用自己下载的jre

Spring项目JUnit测试报错ClassNotFoundException解决、

MyEclipse项目上有红色感叹号,各包显示正常.用JUnit测试部分能运行,部分报错,报错如下: Class not found n_jdbc.UserDaoTestjava.lang.ClassNotFoundException: n_jdbc.UserDaoTest at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native

包含MANIFEST.MF的jar可执行应用指定classpath及spring boot应用增量升级打包实现

对于不包含MANIFEST.MF,或jar包中的MANIFEST.MF未指定MainClass的jar,可以通过java命令行选项-classpath指定classpath.但是如果是包含MainClass的jar,例如: Manifest-Version: 1.0Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txtBundle-SymbolicName: org.mybatis.generator.mybatis-gene

maven 加入json-lib.jar 报错 Missing artifact net.sf.json-lib:json-lib:jar:2.4:compile

pom.xml 内容: [html] view plaincopy <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> </dependency> 报错误:Missing artifact net.sf.json-lib:json-lib:jar:2.4:

解决Eclipse编译器报错ClassNotFoundException:Org.hibernate.hql.ast.HqlToken

最近开发遇到Eclipse编译器老是报出ClassNotFoundException:Org.hibernate.hql.ast.HqlToken [from User Where id=1] 的错误,百度一直无果,找不到解决方案.就FQ去google了一下,终于找到了解决方案.可能是因为 antlr-2.7.6.jar 包冲突导致无法载入或者是Eclipse无法把antlr-2.7.6.jar加入到classpath中. 解决的办法就是把antlr-2.7.6.jar 加入到  JAVA_HO

JAVA EXCEL 导入jar报错The package org.apache.poi.hssf.usermodel is accessible from more than one module: poi, poi.examples, poi.scratchpad

意思是org.apache.poi.hssf.usermodel包可以来自这三个jar里面.重复了.需要去掉重复的. 我选择把poi.examples, poi.scratchpad jar包链接去掉. 原文地址:https://www.cnblogs.com/xuqiulin/p/9180808.html

Cannot find the system java compiler. Check that your class path includes tools.jar报错处理

今天启动项目的时候中遇到 java.lang.illegalstateexception:Cannot find the system java compiler. Check that your class path includes tools.jar 主要原因是因为编译器在编译时找不到 tools.jar 解决方案一:将%JAVA_HOME%\lib\tools.jar文件复制到%JAVA_HOME%\jre\lib\目录下 解决方案二: 右击所有project下的JRE System L

dos中使用java -jar xxx.jar报错

实例:java -jar microservice-consumer-movie-feign-hystrix-fallback-stream-0.0.1-SNAPSHOT.jar 问题: Error: Unable to access jarfile microservice-consumer-movie-feign-hystrix-fallback-stream-0.0.1-SNAPSHOT.jar 原因:由于jar包名太长,我将jar包名改为aa.jar,启动就成功了 原文地址:https: