您提到了 jar 文件,它们实际上是 依赖项。如果您真的不想将这些 jar 文件包含在您的存储库中,您可能想看看 Ivy 之类的依赖管理系统,或者切换到 Maven。
另外,您始终可以使用 Ant 的构建“脚本”复制依赖项(尽管它们是 XML,而不是真正的“脚本”)。
如何让 eclipse 将构建的类文件保存到外部位置(我有一个驱动器映射,或者它甚至可以通过 ssh/sftp/whatever)?
很难想出解决“如何将它们保存到外部位置”的方法。但是,您可以只编写一个目标,使用<scp> 任务(基于ssh)或<ftp> 任务,在运行标准构建后复制文件。
理想情况下,我希望 eclipse 自动将使用的构建类和库复制到另一个目录中。
Eclipse 内置了对 Ant 的支持。我不使用 Eclipse,但我使用 Netbeans。在 Netbeans 中,实际上是使用 Netbeans 生成的 Ant 构建文件来构建项目的。而且,您可以自定义构建文件,添加自己的目标,然后,您可以在 IDE 中运行自己的目标。
例如,您有一个build 目标、一个deploy 目标、一个run 目标。第一个是Eclipse生成的,你不需要关心,后两个是你自己写的。只需编写另一个目标,例如all,然后使用<antcall> 依次运行上面的三个目标。然后在Eclipse中,直接运行alltarget就可以得到Ant处理的所有事情了。
更理想的是让它在我单击“运行”时自动运行/终止程序,尽管我怀疑这可能有点过于乐观。
目标机器是一台Linux机器,所以你可以很容易地用apt-get安装SSH服务器。在你的ant构建文件中写两个target,一个是run,一个是kill。
在run 目标内,您可以使用<sshexec> 来运行您的应用程序。您唯一需要注意的是在该机器上定义的环境变量可能在 ssh 会话中不可用。但这只是一个配置问题。至少您可以将变量放在 /etc/environment 中,尽管这不是最佳做法。
kill 目标可能有点复杂。但是,在我看来,如果你可以写一个startup.sh 来启动一个应用程序,你总是可以写一个stop.sh 来关闭它(看看Tomcat 的catalina.sh)。
另外,kill 目标可以在您的 Eclipse 中调用。