【问题标题】:In tomcat 8, How to provide file path in setenv.bat to read from java class在 tomcat 8 中,如何在 setenv.bat 中提供文件路径以从 java 类中读取
【发布时间】:2021-04-16 08:51:21
【问题描述】:

我想让我的自定义 java.security.auth.login.config 属性从 tomcat 目录中的用户定义文件中读取,例如 TOMCAT_HOME/bin/jass.config

::setenv.bat中的设置::

set "jaasFile=C:\Users\...\apache-tomcat-8.5.33\bin\jass.conf"
set "CATALINA_OPTS=%CATALINA_OPTS% -Djava.security.auth.login.config=%jaasFile%"

但是,如果我从 java 类中读取它,则显示为 null

System.getProperty("java.security.auth.login.config");  //  Showing as null

任何提示如何实现这一点?

【问题讨论】:

  • set "CATALINA_OPTS... 行在您的问题中缺少结束双引号 "(可能还有 setenv.bat 文件)。
  • 双引号已经存在:set "jaasFile=C:\Users\....\apache-tomcat-8.5.33\authabc\jass.conf" set "CATALINA_OPTS=%CATALINA_OPTS% - Djava.security.auth.login.config=%jaasFile%"
  • 应该是set jaasFile="...."set CATALINA_OPTS="...."
  • 下面是我在 setenv.bat 文件中的设置 :: set jaasFile="C:\Users\...\jaas.conf" set CATALINA_OPTS="%CATALINA_OPTS%-Djava.security.auth. login.config=%jaasFile%" 但还是没有运气...
  • 只是为了确保:您正在使用 catalina.bat/startup.bat 启动 Tomcat?还是您将 Tomcat 作为服务启动 (procrun)?

标签: java file tomcat kerberos setenv


【解决方案1】:

setenv.bat 批处理文件仅来自随 Tomcat 分发的*.bat 文件。没有其他启动服务器的方法使用该文件。

如果您从 Eclipse 启动 Tomcat,您可以在服务器的配置页面中编辑 JVM 参数和环境变量:在 "Servers" 视图中双击或点击服务器上的F3 以打开其“概述”页面,然后点击“打开启动配置”

如果您将 Tomcat 作为窗口服务启动,请打开 Procrun monitor application(在 Tomcat 的安装目录中重命名为 tomcat*w.exe)并在那里设置值。

【讨论】:

  • 通过在 Eclipse 中设置 JVM 参数,我能够在 java 类中使用 System.setProperty() 获取值。我真的为得到这个而奋斗。非常感谢!!
猜你喜欢
  • 2010-11-30
  • 1970-01-01
  • 2023-03-21
  • 1970-01-01
  • 2018-05-04
  • 1970-01-01
  • 2014-10-19
  • 1970-01-01
相关资源
最近更新 更多