java中tomcat命令行中传递的系统属性

java中tomcat命令行中传递的系统属性,java,tomcat,Java,Tomcat,我有一个基于web的应用程序,它使用tomcat。我想在启动tomcat时传递应用程序的路径。到目前为止,我尝试了以下代码: startup.bat -DdbPath=c:\DatabasePath 我尝试通过以下代码在java代码中读取它: String url = System.getProperty("dbPath"); 运行应用程序时返回的URL为空。可能是什么问题 即使通过catalina.bat start-DdbPath=c:\DatabasePath发送参数似乎也不起作用,这

我有一个基于web的应用程序,它使用tomcat。我想在启动tomcat时传递应用程序的路径。到目前为止,我尝试了以下代码:

startup.bat -DdbPath=c:\DatabasePath
我尝试通过以下代码在java代码中读取它:

String url = System.getProperty("dbPath");
运行应用程序时返回的URL为空。可能是什么问题


即使通过catalina.bat start-DdbPath=c:\DatabasePath发送参数似乎也不起作用,这将建议您使用Ant脚本来启动tomcat。这样,传递jvm参数会更好

        <java jar="${s.tomcat.home}/bin/bootstrap.jar" spawn="${run.background}" fork="true">
            <jvmarg line="-XX:+CMSPermGenSweepingEnabled"/>
            <jvmarg line="-XX:+CMSClassUnloadingEnabled"/>
            <jvmarg line="-XX:MaxPermSize=256m"/>
            <jvmarg line="-Xms256m"/>
            <jvmarg line="-Xmx1024m"/>
            <jvmarg value="-Dcatalina.home=${s.tomcat.home}"/>
            <arg line="start" />
        </java>



Tomcat附带一个名为setenv.bat的空文件。只要把你想要的东西放进去,它就会在启动时被设置好。

在部署中使用Ant来完成像这样的简单任务未免太过分了。Ant是一种开发工具。