public static String getPublicKey() throws IOException{ String publicPath = Thread.currentThread().getContextClassLoader().getResource("rsa_public_key.pem").getPath(); boolean contains = publicPath.contains(".jar"); InputStream inStream; if (contains) { inStream = new FileInputStream("rsa_public_key.pem"); System.out.println("当前class是在jar运行的"); } else { inStream = new FileInputStream(publicPath); System.out.println("当前class是在war运行的"); } ByteArrayOutputStream out = new ByteArrayOutputStream(); int ch; while ((ch = inStream.read()) != -1) { out.write(ch); } publicKey = out.toString(); return publicKey; }