我在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 中调用。