【问题标题】:Execute a Jar with Wildcard in Path在路径中使用通配符执行 Jar
【发布时间】:2014-03-02 14:15:26
【问题描述】:

我有一个启动 jar 文件的应用程序。但是,jar 的名称中有版本号,并且每隔几个月就会更改一次。我正在写这个,所以我不必在每次更改 jar 时都更新应用程序的代码。我尝试使用 * 作为通配符,但我得到:

Error: Unable to access jarfile C:\Selenium\vendor\selenium-server-standalone-\*.jar

我正在运行的命令是:

java -jar C:\\Selenium\\vendor\\selenium-server-standalone-*.jar

当我输入版本号时,jar 启动成功。无论如何在这里使用通配符?

【问题讨论】:

  • 标签为什么有Selenium
  • 这是为了启动 Selenium 服务器。我想如果有人在自动启动他们的 Selenium 服务器时可能会遇到这种情况。
  • 为什么不将 .jar 下载到一个保持不变的名称时重命名它? Selenium 中没有任何内容需要 .jar 的名称为 selenium-server-standalone-x.xx.jar

标签: java selenium jar


【解决方案1】:

不确定windows,你能做的最好的就是写一个最小的批处理文件来grep文件名并把它放在那里

对于 unix:你可以做类似的事情

java -jar *.jar

这在 unix 中运行良好

【讨论】:

  • 我在 Windows 和 Linux 上都使用它,所以我会在 Linux 机器上尝试一下,看看它是否有效。
  • 但是如果他在同一个目录中有多个版本的 jar 会发生什么?我会说也许使用环境变量来设置版本然后执行 java -jar selenium-server-standalone-$VERSION.jar,不是吗?
  • 好吧,我并不是要使用确切的 *.jar,这只是一个示例 @Aca
【解决方案2】:

我认为这样做的一个非常简单的方法,让它在 Windows 和 Unix 中工作是通过设置一个环境变量与你想要执行的版本,就像 Jigar 说的那样,创建一个简单的批处理文件来执行正确的版本。

所以如果你设置了

$VERSION=1.0 and
$JARPATH = C:\\Selenium\\vendor

你可以轻松地制作一个批处理文件

java -jar $JARPATH\\selenium-server-standalone-$VERSION.jar

然后,您可以在同一目录中拥有多个版本的 JAR 文件,只需更改变量即可执行所需的版本。

【讨论】:

    猜你喜欢
    • 2012-08-25
    • 1970-01-01
    • 2014-08-09
    • 2012-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多