【问题标题】:Executing a jar with version in shell script在 shell 脚本中执行带有版本的 jar
【发布时间】:2016-05-26 14:18:39
【问题描述】:

我正在尝试构建一个带有版本的可执行 jar 文件[其中包括带有主类的 mainfest]。 即)testjar-2.0.jar

我正在编写一个脚本来启动具有完整包名的 jar,它可以正常工作,如果我更改 jar 的版本,它将很有帮助

ie) com.java.test.TestMain

由于它是一个可执行版本,我认为使用以下命令将不再使用。

ie) java -jar testjar-2.0.jar`

如果您在脚本中使用硬编码版本,将来可能会更改 jar 中的版本。优化的方式是什么?还有其他更好的方法吗?

【问题讨论】:

标签: java shell jar


【解决方案1】:

这里有一些想法:

  • 代入模板生成带有版本号的shell脚本;例如在安装程序中,或者在构建要进入安装程序的工件时。

  • 将 JAR 文件重命名为不包含版本号的名称。

  • 为没有版本号的 JAR 创建一个符号,该符号指向带有版本号的 JAR 文件。然后编写脚本以使用符号链接。

  • 编写脚本“globbing”以匹配 JAR 文件;例如

    java -jar testjar-*.jar  
    

【讨论】:

  • 我同意斯蒂芬。对性能有影响吗?另外,我们使用的 jar 是一个 3pp jar,我使用完整的命名空间来执行 jar 应用程序
  • 1) No. 2) No. 3) 最小。 4) 最小。在最小的情况下,开销将是毫秒,与启动 JVM 的秒数相比。
  • 对不起?你在比较什么……和什么?
  • 在脚本中使用 jar 文件执行,并在脚本中使用完整的包名执行。
  • 差别可以忽略不计。
猜你喜欢
  • 1970-01-01
  • 2019-12-02
  • 1970-01-01
  • 2012-10-04
  • 2015-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多