gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 05:48:17 24 4
gpt4 key购买 nike

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

我怎样才能让 eclipse 将构建的类文件保存到外部位置(我有一个驱动器映射,或者它甚至可以通过 ssh/sftp/什么)?

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

我认为我认为与 eclipse 一起安装的 ant 可以做到这一点,但我不确定如何实现。

最佳答案

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

或者,您始终可以使用 Ant 的构建“脚本”(尽管它们是 XML,而不是真正的“脚本”)复制依赖项。

How can I get eclipse to save the built class files into an external location (I have a drive mapped, or it could even be over ssh/sftp/whatever)?



很难想出一种方法来解决“如何将它们保存到外部位置”。然而,你可以只写一个目标,使用 <scp>任务(基于 ssh)或 <ftp>任务,在运行标准构建后复制文件。

Ideally I would like to have eclipse copy the built classes and libraries used into another directory automatically.



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

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

even more ideally get it to run/kill the program automatically when I click on "run", although I suspect that might be being a little too optimistic.



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

run目标,您可以使用 <sshexec>运行您的应用程序。您唯一需要注意的是,该机器上定义的环境变量可能在 ssh session 中不可用。但这只是一个配置问题。至少你可以把变量放在 /etc/environment ,虽然这不是最佳实践。
kill目标可能稍微复杂一些。但是,在我看来,如果你能写一个 startup.sh要启动一个应用程序,你总是可以写一个 stop.sh关闭它(看看Tomcat的catalina.sh)。

而且, kill target 可以在您的 Eclipse 中调用。

关于java - 使用 java、eclipse 和 ant 自动复制构建的文件和库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10407974/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com