在我工作的地方,我们有一个 shell 脚本,它允许我们使用所有必要的库和设置执行任意 Java 类,例如:
#!/bin/sh
$JAVA_HOME/bin/java -cp LONG_LIST_OF_JARS -Xmx6g -XX:MaxPermSize=128m "$@"
并像这样使用:
javacorp.sh com.mycorp.SomeJob
这显然比java
每次都需要明确指定所有参数要好,但我不喜欢它只是手动连接到我们的 Eclipse 项目中配置的 jar 以编译代码库。我正在从事一个个人项目,并希望同样能够从命令行执行任意类,并试图确定如何最好地提供一致的java
环境。
目前我正在使用 Eclipse 来运行我的应用程序,但我希望能够直接从命令行运行它们,或者在没有安装 Eclipse 的机器上运行它们。特别是,我还希望能够限制可以执行的类/jar 的范围。例如,javacorp.sh
让我们在src/
目录中运行任何东西,并且只在类路径javacorpunit.sh
中包含tests/unit/
目录中的类。
- 有没有一种干净的方法可以使用 Ant、Maven 或其他一些构建工具
java
在命令行上执行配置的命令,并且样板文件最少? - 有没有办法挂钩到
.classpath
Eclipse 创建的文件?这并不能完全解决我的问题(例如一致的内存设置),但使用已经存在的数据会很好。
编辑:
表达我的问题的另一种方式是“在命令行上复制 Eclipse 简单的‘运行当前文件的主要方法’按钮的最简洁方式是什么?”