我正在读取一个私钥文件,当我从目标目录中读取它时出现异常:
引起:javax.crypto.BadPaddingException:给定最终块未正确填充
如果我从 src 目录中读取它,它工作正常。
这是编码问题吗?我该如何解决?
几乎 100% 尝试从 scr/main/resource-directory 或 target/classes-directory 读取文件的人确实希望从类路径中读取其内容。因此,我建议使用 Foo.class.getResourceAsStream("/path/to/resource") (http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html#getResourceAsStream (java.lang.String))。负责将这些资源文件移动到目标目录的插件是maven-resource-plugin。默认情况下,它将使用您系统的编码,Maven 会为此发出警告。此条目还解释了如何正确设置它。