2016-05-19 93 views
0

我有一個自定義的屬性類擴展java.util.Properties和重寫使用Jasypt的getProperty。propertyProviderClass自定義實現與Jasypt不工作

我已經將Jasypt和MyProperties jar文件放在Liquibase的lib文件夾下。

我試圖用Liquibase-CLI運行:

liquibase --defaultsFile=my.properties --propertyProviderClass=info.farhdine.MyProperties validate

不過,我總是得到一個錯誤:

java.sql.SQLException: ORA-01017: invalid username/password; logon denied

在my.properties文件,即使沒有什麼是加密的,就我使用propertyProviderClass而言,我總是得到相同的錯誤。

有沒有人已經設法使它工作?

謝謝。

回答

0

問題解決了! 我重寫get()方法而不是put():)

public class MyProperties extends java.util.Properties { 
private static final long serialVersionUID = -207802321379271320L; 

public MyProperties() { 
    StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor(); 
    encryptor.setPassword("jasypt"); 
    super.defaults = new EncryptableProperties(encryptor); 
} 

@Override 
public synchronized Object put(Object paramK, Object paramV) { 
    return super.defaults.put(paramK, paramV); 
} 
}