我是处理类文件,jar等的新手。
通常,我只是下载一个jar文件并用它来运行hadoop job。
现在,我需要从jar中提取内容并修改一些文件并将它们重新打包到一个新的jar中。
我从jar文件中提取文件(* .class,lib / * .jar):
jar xf ./ABC.jar
然后,我将提取的文件放在:
./ABC/*
我试图以这种方式将它们重新组合在一起:
jar cvf New_ABC.jar ./META-INF/MANIFEST.MF libs/*.jar -C ABC .
当我使用New_ABC.jar运行hadoop作业时,我得到以下异常:
Exception in thread "main" java.long.ClassNotFoundException: BLAH.blah
at java.net.URLClassLoader.findClass
at ...
我的手术有什么问题?如何使用New_ABC.jar,就好像它与ABC.jar一样?
谢谢,感谢您的帮助
以下是文件./META-INF/MANIFEST.MF
的内容Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Built-By: Anonymous
Created-By: Apache Maven 3.3.3
Build-Jdk: 1.8.0_66