【发布时间】:2015-12-02 12:36:35
【问题描述】:
我有一些 Java 测试想要通过 java <test-name> 运行。但是,所有文件都是.class 或.java。
如何在 Bash 脚本或终端中修剪结尾,以便命令显示为 java <test-name>?
【问题讨论】:
-
仅供参考,这个问题实际上与 Java 编程语言无关(您的文件以
.java结尾的事实确实与问题无关)。我已经相应地编辑了标签。 -
@ajb,相反,
bash似乎与问题无关。这似乎与java命令的参数有关,尤其是对要在其中找到入口点方法的类进行命名的参数。任何命令接受的参数都是该命令的范围。但是,鉴于这个问题可以解释,如果我理解正确,我将它留给 OP 来恢复java标记。 -
也许这可以通过@karakfa 在他的回答中显示的 bash 技巧来实现。但为什么?听起来您正在为令人讨厌的陷阱做好准备(更不用说参与该项目的任何其他人了)。
-
@Candic3,当从命令行或脚本运行 Java 程序时,您永远在命令中包含
.java或.class扩展名。取而代之的是,您提供包含您想要开始的main()方法的类的完全限定名称,例如java my.tests.Test1。该类必须先前已编译,您可能还需要提供一个-classpath参数来告诉Java 在哪里查找该类文件。 -
@JohnBollinger 不,我认为你已经把它弄反了。你是对的,
java命令控制它需要什么参数。它需要一个没有java扩展名的参数。但是 OP 和其他所有人都已经知道了——这不是问题所在。因此,您关于问题与java命令的参数有关的说法是不正确的。问题是,当您构建 java 命令时,如何从文件名中去除.java扩展名——这肯定是关于bash或其他 shell 的问题。