【问题标题】:Default arguments in JAR-manifestJAR 清单中的默认参数
【发布时间】:2010-12-13 23:10:37
【问题描述】:

有没有办法创建一个 JAR 文件,其中包含一些传递给主类的参数? (不管是在潜在的命令行参数前添加参数还是附加参数。)

我知道我可以简单地编写一个引导类并将其指定为主类(使用参数调用真正的主类),但这似乎有点尴尬。

【问题讨论】:

标签: java jar arguments manifest


【解决方案1】:

据我所知,没有。你必须自己用代码来做这种事情。

很多人发现编写一个小的主类来设置环境然后充当“真正的”主程序的类加载器很有用。通常,此类 pre-mains 会修改其应用程序的类路径,但您的问题是可以像这样解决的其他问题。

【讨论】:

  • 创建一个 ClassLoader 是多余的。您可以从添加默认参数的 main 中调用 OtherClass.main(String[])。
  • 是的,劳伦斯。我没有想到这是自定义类加载器通常用于的退化案例。
  • 我认为这里提到的 ClassLoader 额外项目用于设置不同的 vm 变量等。对于主要参数,你是对的,没有必要。大多数情况下,他们会通过Runtime.getRuntime().exec(processCmd); 进行一些许可证检查等启动操作和启动过程。只是不要使用 .sh/.bat 文件,而是使用 java runnable jar。
【解决方案2】:

我会将应用程序设计为内置默认设置,并在用户提供不同参数时覆盖默认设置。

在您的设置中,如果用户给出不同的参数会发生什么?不会以多个类似的论点结束而不得不尴尬地处理吗?

【讨论】:

    猜你喜欢
    • 2023-01-13
    • 1970-01-01
    • 2019-12-14
    • 2016-01-06
    • 1970-01-01
    • 2013-02-20
    • 1970-01-01
    • 1970-01-01
    • 2012-08-01
    相关资源
    最近更新 更多