2016-08-19 91 views
0

这里使用的内部路径是我的问题,我需要使用Java库,寻找一些文件和路径位于具有下列常量:(罐子里)改变由一个瓶子

private static final String PRIVATE_KEY_DECRYPT_PATH = "keys/decrypt/private_dec_asn1.key"; 
private static final String PUBLIC_KEY_DECRYPT_PATH = "keys/decrypt/public_dec_asn1.key"; 
private static final String PUBLIC_KEY_ENCRYPT_PATH = "keys/encrypt/public_enc_asn1.key"; 

所以我被迫在一个密钥文件夹下找到这些文件?有什么我可以做的改变参考?我需要找到一种方式,因为这些文件在环境之间会有差异。

唯一发生在我身上的是做逆向工程,并改变在依赖项中设置的路径常量。任何人都有更好的解决方案?

+0

从jar中获取所有的类文件(可能是unzip会做的),并使用反射,你可能会得到静态字段。 – SomeDude

回答

0

在使用它之前,您是否可以重写该字段的值?你可以这样做:

Field field = FieldContainer.class.getDeclaredField("PRIVATE_KEY_DECRYPT_PATH"); 
field.setAccessible(true); 
field.set(null, "/your/new/path"); 

如果你不能这样做,你可能需要覆盖该类接受这些属性的可配置值。