怎么修改JAR程序?
要修改一个JAR程序,你需要进行以下步骤:
1. 解压JAR文件:将JAR文件解压缩到一个目录中,可以使用解压软件(如WinRAR或7-Zip)来完成。右键点击JAR文件,选择"解压缩到当前文件夹"或类似的选项。
2. 修改文件:在解压后的目录中,你将看到JAR文件的内容,包括.class文件、资源文件和其他相关文件。你可以使用任何文本编辑器或集成开发环境(IDE)来编辑这些文件,根据你的需求进行修改。
3. 重新打包JAR文件:完成对文件的修改后,将这些文件重新打包为一个新的JAR文件。在打包时,确保包含修改后的文件和原始的文件结构和目录结构相同。
4. 测试和部署:使用修改后的JAR文件进行测试,确保修改的功能正常运行。一旦确认无误,你可以将修改后的JAR文件部署到目标环境中使用。
需要注意的是,修改JAR文件可能涉及到对源代码的修改,因此你需要确保你具备合法的许可证和权限来修改和使用该程序。此外,修改JAR文件也可能会破坏原始文件的完整性和签名,因此在进行修改之前最好先备份原始的JAR文件。
该过程需要经历四个步骤:解压,反编译,修改,打包。
解压:jar文件和我们平常的rar和zip文件一样是属于压缩文件,通过一般的解压缩工具(例如:winrar)都能解压。解压之后生成的文件为**.class的字节码文件。
反编译:互联网上有很多的字节码文件反编译工具(例如:jad)。
他能够将**.class文件或者直接能够将jar文件反编译为**.java文件。
得到java文件以后就可以修改里面的源代码了。
将修改好的代码编译成**.class字节码文件以后再添加替换掉原来jar包中的class文件,或者重新将修改后的java代码转换成java工程,再生成jar文件都行。
这个过程的完成需要熟悉java基础,编译环境等相关知识。尤其是对jar包的理解很重要。
反编译在互连网上就能直接找到很多工具。打包则很简单不做累述。
java修改hdfs上文件权限的问题?
看来你是开启了HDFS的权限检查功能,这样你访问HDFS,NameNode都会检查访问用户的权限的。
你现在想要修改/process/startall.txt文件的权限,那process目录以及startall.txt的有效用户、有效组以及其权限是什么呢?
假设process目录与startall.txt原始的有效用户和有效组分别为root和supergroup,原始权限为750的话,你若在自己电脑运行上述程序,它会自动获取当前计算机的登录用户,假设为wyc,去访问HDFS,
很显然,你的程序连process目录都进不去的。
此外,想要更改一个目录或文件的权限,当前用户则必须是有效用户或超级用户才可以。
想要解决的话,嘿嘿, 如果你设置的hadoop.security.authentication property,也就是认证方式为simple的话(默认就是simple),那还可以钻该认证方式的空子,运行程序是伪装成有效用户或者超
级用户即可。
此外,有一行代码需要修改一下,我在实验后发现设置权限那一行有误,如下:
(dstPath, new FsPermission((short) 775));
hdfs.setPermission(dstPath, new FsPermission("755"));