您提到了 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 中,您可以直接运行all
target 来获取 Ant 处理的所有事情。
更理想的是,当我单击“运行”时,它会自动运行/终止程序,尽管我怀疑这可能有点过于乐观。
目标机器是 Linux 机器,因此您可以在其上使用 apt-get 轻松安装 SSH 服务器。在你的 ant 构建文件中写入两个目标,一个是run
,另一个是kill
.
在run
目标内部,您可以使用它<sshexec>
来运行您的应用程序。您唯一需要注意的是在该机器上定义的环境变量可能在 ssh 会话中不可用。但这只是一个配置问题。至少您可以将变量放入/etc/environment
,尽管这不是最佳做法。
kill
目标可能稍微复杂一些。但是,在我看来,如果你可以写一个startup.sh
来启动一个应用程序,你总是可以写一个stop.sh
来关闭它(看看Tomcat的catalina.sh)。
而且,kill
可以在 Eclipse 中调用目标。