使用 args 运行 -jar 并在 Spring 中使用 args
我需要使用静态参数运行 jar,例如 java -jar myapp-1.0.0.jar /path/static/myfolder,并在我的代码中使用此路径“/path/static/myfolder”。所以,我知道如何在 PSVM 中获取这个参数(String..args),但是如何在 Spring 中获取它?是否有对此的注释或者可能在属性文件中>
I need to run jar with static parameter, for example, java -jar myapp-1.0.0.jar /path/static/myfolder, and use this path "/path/static/myfolder" in my code. So, I know how to get this parameters in PSVM (String..args), but how to get it in Spring? Is there annotation for this or may be in properties file>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
例如:
java -jar -Dtest=abcd myapp-1.0.0.jar
。您可以使用 System.getProperty("test") 来获取值。
-D{parameter}
需要位于该 jar 之前For example:
java -jar -Dtest=abcd myapp-1.0.0.jar
.You can use
System.getProperty("test")
to get value.-D{parameter}
needs to be before that jar这确实是我问题的答案:
创建特殊的
@Component
来实现CommandLineRunner
并覆盖方法Run
,如下所示:注入 bean
StartupPrintRunner
在您需要的地方并获取参数。它返回的 String 看起来像一个数组:[parameter1,parameter2..,parameter n]
,我们可以解析它以获取必要的参数。It is really answer for my question:
create special
@Component
that implementsCommandLineRunner
and overrides methodRun
, like this:Inject bean
StartupPrintRunner
where you need and get parameters. It returns String looks like an array:[parameter1, parameter2.., parameter n]
and we can parse it to get necessary parameter.