使用 java、eclipse 和 ant 自动复制构建的文件和库



我在Windows 7上使用java和eclipse,我正在尝试构建一个服务器程序,该程序将在我网络上的另一台(ubuntu(机器上运行。

如何让 eclipse 将构建的类文件保存到外部位置(我映射了一个驱动器,或者它甚至可能在 ssh/sftp/其他什么上(?

我已经在那台机器上创建了一个 git 存储库,因此类文件保存在其中,但是我正在使用的外部库(位于构建路径上(并未保存为存储库的一部分。理想情况下,我希望让 eclipse 自动将使用的构建类和库复制到另一个目录中(更理想的情况是,当我单击"运行"时,让它自动运行/终止程序,尽管我怀疑这可能有点过于乐观(。

我认为

我认为安装了 eclipse 的蚂蚁可以做到这一点,但我不确定如何实现它。

你提到了jar文件,它们实际上是依赖项。如果您真的不想将这些 jar 文件包含在存储库中,您可能需要查看一些依赖管理系统(如 Ivy(或切换到 Maven。

或者,您始终能够使用 Ant 的构建"脚本"复制依赖项(尽管它们是 XML,而不是真正的"脚本"(。

如何让 eclipse 将构建的类文件保存到外部位置(我映射了一个驱动器,或者它甚至可能在 ssh/sftp/其他什么上(?

很难

想出解决"如何将它们保存到外部位置"的方法。但是,您可以使用<scp>任务(基于 ssh(或<ftp>任务编写目标,以便在运行标准构建后复制文件。

理想情况下,我希望让 eclipse 自动将使用的构建类和库复制到另一个目录中。

Eclipse 内置了对 Ant 的支持。我不使用 Eclipse,但我使用 Netbeans。在 Netbeans 中,项目实际上是使用 Netbeans 生成的 Ant 构建文件构建的。而且,您可以自定义生成文件,添加自己的目标,然后,可以在 IDE 中运行自己的目标。

例如,您有一个build目标、一个deploy目标、一个run目标。第一个是由 Eclipse 生成的,你不需要关心它,而后两个是由你编写的。只需编写另一个目标,例如all,并使用<antcall>一个接一个地运行上面的三个目标。然后,在 Eclipse 中,你可以直接运行all目标来获取 Ant 处理的所有事情。

更理想的是,当我单击"运行"时,让它自动运行/终止程序,尽管我怀疑这可能有点过于乐观。

目标机器是Linux机器,因此您可以使用apt-get轻松安装SSH服务器。在 ant 构建文件中写入两个目标,一个是 run ,另一个是 kill

run目标中,可以使用<sshexec>来运行应用。您唯一需要注意的是,在该计算机上定义的环境变量可能在 ssh 会话中不可用。但这只是一个配置问题。至少你可以把变量放在/etc/environment,尽管这不是最好的做法。

kill目标可能稍微复杂一些。但是,在我看来,如果你能写一个startup.sh来启动一个应用程序,你总是可以写一个stop.sh来关闭它(看看Tomcat的 catalina.sh(。

而且,kill目标可以在 Eclipse 中调用。

相关内容

  • 没有找到相关文章

最新更新