使用批处理文件添加权限属性生成jar

时间:2013-11-21 17:07:26

标签: java batch-file permissions applet manifest

我希望你能帮我解决这个问题:

我需要将一个权限属性添加到包含在jar中的清单文件中。此jar由.bat文件生成。这是.bat:

del *.cer
del *.com
del ReadAheeva.jar
del *.class
javac -classpath "java40.jar" ReadAheeva.java
keytool -delete -alias ReadAheeva -storepass soporte -keypass soporte
keytool -genkey -dname "CN=SISTEMAS MEXICO, OU=SISTEMAS, O=PREMIUM, L=MEXICO, ST=DF, C=CUAJIMALPA" -alias ReadAheeva -validity 3600 -keypass soporte -storepass soporte
jar cvf ReadAheeva.jar *.class
jarsigner -storepass soporte -keypass soporte ReadAheeva.jar ReadAheeva
del *.class

我可以添加到此代码中,以便Manifest文件具有all-permision属性。此外,我无法直接修改Manifest文件,因为它是一个只读文件(另外我认为这不会起作用,根据我一直在阅读的帖子)

我真的希望你能帮助我们解决这个问题,这是我们公司真正需要的东西。

谢谢!

2 个答案:

答案 0 :(得分:0)

如果它是文件本身的权限...做CACLS /?了解CACLS命令。做类似的事情:

CACLS java40.jar /G Users:C /F /E

答案 1 :(得分:0)

使用记事本或其他文本编辑器创建一个名为MANIFEST.MF文件的文件。它的内容就像

Manifest-Version: 1.0
Permissions: all-permissions
Application-Name: Name of your application

现在将此MANIFEST.MF文件放在要生成jar文件的同一目录中。现在,让我们在batch(.bat)文件中查看您需要更改的内容...

del *.cer
del *.com
del ReadAheeva.jar
del *.class
javac -classpath "java40.jar" ReadAheeva.java
keytool -delete -alias ReadAheeva -storepass soporte -keypass soporte
keytool -genkey -dname "CN=SISTEMAS MEXICO, OU=SISTEMAS, O=PREMIUM, L=MEXICO, ST=DF, C=CUAJIMALPA" -alias ReadAheeva -validity 3600 -keypass soporte -storepass soporte
jar cvfm MANIFEST.MF ReadAheeva.jar *.class
jarsigner -storepass soporte -keypass soporte ReadAheeva.jar ReadAheeva
del *.class

jar cvfm MANIFEST.MF ReadAheeva.jar *.class会在您的.bat文件中发生变化。现在,只需在MANIFEST.MF文件中添加属性,它就会被添加到新的.jar文件中