How to pass the -D additional parameter while starting tomcat?

后端 未结 6 547
慢半拍i
慢半拍i 2020-12-25 12:14

I have a maven project, after running command mvn install all project as well as module compile and copied to local repository successfully. But now I want

相关标签:
6条回答
  • 2020-12-25 12:25

    I have tested params for Tomcat 7/8 on Windows 10 and CentOs 7 (Linux).
    1) On Windows need to create setenv.bat in the {TOMCAT_HOME}/bin/ path and insert there such code:

    set CATALINA_OPTS=-Dapp.username=admin -Dapp.password=12345
    

    IMPORTANT: do not use quotes (" ") for setting params on windows.

    2) On CentOs need to create setenv.sh in the {TOMCAT_HOME}/bin/ path and insert there such code:

    export CATALINA_OPTS="-Dapp.username=admin -Dapp.password=12345"
    

    You can also create {TOMCAT_HOME}/conf/conf.d/custom.conf and insert the same export command there.

    0 讨论(0)
  • 2020-12-25 12:29

    You will want to set the CATALINA_OPTS system variable - this is read by Tomcat (and only by Tomcat) when starting. As @Betoverse says you can set this using the two methods:

    export CATALINA_OPTS="-Dapp.username -Dapp.username"
    

    Or in Windows:

    set CATALINA_OPTS="-Dapp.username -Dapp.username"
    

    You can add that command to your ~/.profile on UNIX to have it set automatically.

    0 讨论(0)
  • 2020-12-25 12:33

    For Tomcat 6 you should add the params to the startup.sh (Windows startup.bat). For Tomcat 7 and above you should set the parameters in the {Catalina Root}/bin/setenv.sh like such:

    export CATALINA_OPTS="$CATALINA_OPTS -Dapp.username=username -Dapp.password=password"
    

    Or in Windows:

    set CATALINA_OPTS="$CATALINA_OPTS -Dapp.username=username -Dapp.password=password"
    

    NOTE: Notice the $CATALINA_OPTS at the beginning so you don't wipe out any previously set values. Not doing so can create a very hard to debug problem!

    If the parameters you are setting are solely to be used by Tomcat then be sure to set it using CATALINA_OPTS.

    If your application will be using the parameters then be sure to use JAVA_OPTS instead. Tomcat will also read these parameters. This can also go in the setenv.sh file. For instance:

    export JAVA_OPTS="$JAVA_OPTS -Dapp.username=username -Dapp.password=password"
    

    Or in Windows:

    set JAVA_OPTS="$JAVA_OPTS -Dapp.username=username -Dapp.password=password"
    
    0 讨论(0)
  • 2020-12-25 12:37

    If you don't want to change your environments or edit the .sh files you can start the server with something like the following

    CATALINA_OPTS="-Dparam1=value1 -Dparam2=value2" catalina.sh start
    
    0 讨论(0)
  • 2020-12-25 12:38

    You can set an environment variable to do that. E.g. in Linux:

    export JAVA_OPTS="-Dapp.username -Dapp.username"

    Or in Windows:

    set JAVA_OPTS="-Dapp.username -Dapp.username"

    Do this before starting Tomcat

    0 讨论(0)
  • 2020-12-25 12:42

    before starting tomcat server right click project --> Run as --> Run Configurations second tab --> -Dname=values , -Dname=values , -Dname=values

    what about +Dname=value ,, values it become encrypted

    0 讨论(0)
提交回复
热议问题