使用 args 运行 -jar 并在 Spring 中使用 args

发布于 2025-01-09 11:24:31 字数 187 浏览 0 评论 0原文

我需要使用静态参数运行 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

☆獨立☆ 2025-01-16 11:24:31

例如: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

陌上芳菲 2025-01-16 11:24:31

这确实是我问题的答案:

创建特殊的 @Component 来实现 CommandLineRunner 并覆盖方法 Run,如下所示:

@Component public class StartupPrintRunner implements CommandLineRunner {

    private String folder;

    @Override public void run(String... args) throws Exception { 
        this.folder = Arrays.deepToString(args); 
    }
}

注入 bean StartupPrintRunner 在您需要的地方并获取参数。它返回的 String 看起来像一个数组:[parameter1,parameter2..,parameter n],我们可以解析它以获取必要的参数。

It is really answer for my question:

create special @Component that implements CommandLineRunner and overrides method Run, like this:

@Component public class StartupPrintRunner implements CommandLineRunner {

    private String folder;

    @Override public void run(String... args) throws Exception { 
        this.folder = Arrays.deepToString(args); 
    }
}

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文