问题
项目需要,我在使用kerberos认证时,要在jaas.conf配置文件中指定
keytab文件的路径。使用的相对路径,本地运行没问题,打包丢到服务器上该路劲失效,求大神解答。
项目需要,我在使用kerberos认证时,要在jaas.conf配置文件中指定
keytab文件的路径。使用的相对路径,本地运行没问题,打包丢到服务器上该路劲失效,求大神解答。
如果你在一个JAR文件中配置了一个配置文件,并且需要在代码中读取这个配置文件中的路径,使用类加载器加载配置文件:在Java中,可以使用类加载器来加载资源文件,无论资源文件是在JAR文件中还是在文件系统中。可以通过ClassLoader.getResourceAsStream()方法来获取资源文件的输入流,然后通过Properties类或者其他方式读取配置文件中的内容。
ClassLoader classLoader = getClass().getClassLoader();
InputStream inputStream = classLoader.getResourceAsStream("jaas.conf");
Properties properties = new Properties();
properties.load(inputStream);
String keytabPath = properties.getProperty("keytabPath");
在启动Java应用程序时,可以通过命令行参数或者在代码中设置系统属性,来指定配置文件中需要的路径。
String keytabPath = System.getProperty("keytabPath");