0

我想实现&在我的java web项目中寻找CA_DATA变量的本机API(.so)。如何在tomcat中设置环境变量CA_DATA配置

set it in .bashrc as - 
export CA_DATA=/app/IstCorrectAddress/Data; 

我可以看到这个路径当回声,但问题是当.war部署在tomcat服务器不能看到变量。

我想在tomcat config的某处设置这个环境变量,在启动时可以看到war。请建议在哪里以及如何设置它,以便它可以访问。

请建议。

+0

很难说。你如何运行Tomcat?使用默认的Unix启动脚本? tomcat是谁运行的?你正在使用哪个操作系统? –

+0

直接从bin/startup.sh运行tomcat .tomcat在root用户下运行.Os是linux(64位)。设置环境变量应该是相同的(如果不作为service etc/init.d运行),对吧?我不确定如此发布这个问题,但我们有办法在/app/apache-tomcat-7.0.41/conf/Catalina/localhost位置上设置它。 – sana

+0

在这种情况下,您可能需要查看'startup.sh'并查看它是否从某处读取变量。通常会有脚本导入的'/ etc/default/tomcat'文件。如果tomcat没有运行,那么设置你的环境,因为你不会做太多... –

回答

0

看起来像你使用的JNI(java native interface here)。如果你想库添加到tomcat,我做的方法是将其设置在setevn.sh或setenv.sh,取决于你在

其环境在这个文件中,你也会有这种

set CATALINA_OPTS=%CATALINA_OPTS% /<path to proerties>/xyz.so 

在catalina.bat中,我将不得不这些行

rem Get standard environment variables 
if "%CATALINA_BASE%" == "" goto gotSetenvHome 
if exist "%CATALINA_BASE%\bin\setenv.bat" call "%CATALINA_BASE%\bin\setenv.bat" 
goto gotSetenvBase 
:gotSetenvHome 
if exist "%CATALINA_HOME%\bin\setenv.bat" call "%CATALINA_HOME%\bin\setenv.bat" 
:gotSetenvBase 

您可以在profile.bash路径。希望这可以帮助。