【发布时间】:2014-07-24 21:28:44
【问题描述】:
我们有一个项目(例如,Foo),它有一些public static 方法,其中一些返回String。现在,我需要从命令行访问该项目的jar 并调用其中一个public static String 方法来获取该字符串。
编辑 1:
我需要将返回的字符串作为参数传递给 shell 脚本。像这样的:
./my_bash_script.sh <value returned from jar> <more arguments>
我们怎么做?
尝试从命令行调用 jar,但这没有帮助。
java -cp Foo.jar full.package.name.ClassName
Error: Could not find or load main class jar
这是意料之中的,因为该类没有 Main 函数。
还尝试在 Foo.jar 周围添加一个包装器。就像,在我的另一个项目中添加了这个 jar (Foo.jar) 作为依赖项,并从 Foo.jar 调用了 public static String 方法。好吧,这可行,但我必须在 Java 应用程序之外返回一个字符串,并且 Main 必须是 void。
谁能帮我解决这个问题?
如果我遗漏了任何细节,请在否决之前寻求更多解释。
【问题讨论】:
-
“我必须在 Java 应用程序之外返回一个字符串”是什么意思?如果您有另一个应用程序需要从这个 Java 应用程序中读取,它是否需要可以重定向的 stdin/out?
-
@specializt:很遗憾,我不能使用 Groovy。
-
Main() 不是总是无效的吗?您可以将“字符串”打印到标准输出并阅读。你打算如何掌握那个“字符串”?
-
完美。通过管道输出包装器执行的输出。