提问者:小点点

如何在没有 MVN 全新安装的情况下在代码更改后构建项目?


我在 eclipse 中有一个项目,这是一个 java 应用程序,其中 appengine sdk 和 maven 是我的构建器。

在我启动全新安装之前,.class文件不会刷新,因此我在代码中所做的每次更改都必须运行:

  • MVN 全新安装
  • MVN Eclipse:Clean
  • MVN Eclipse
  • :Eclipse

,然后尝试启动我的应用。

请帮帮我,这真的很烦人。谢谢


共3个答案

匿名用户

我知道这是一篇非常古老的帖子,但我最近在使用 STS 和 Websphere 应用程序服务器时遇到了这个问题。希望这能帮助任何人遇到这个古老的帖子遗物。

看看 Eclipse 市场中的“FileSync”插件。它允许将工作区文件与外部目录同步(想想您的应用程序服务器)。安装“FileSync”后,您可以将其配置为将工作区文件直接“复制/粘贴”到应用程序服务器的松散 .war 目录中。以符合 j2ee 的格式复制您的文件可能需要一些时间,但它对我来说就像一个魅力。配置完成后,您基本上只需更新文件,保存它们,您的应用程序就可以使用了!

匿名用户

您可能正在寻找热部署功能。在大多数情况下,仅仅编译一个 java 类是不够的 - 通常你必须创建一个 war 包,而且几乎总是你必须将新代码重新部署到应用服务器。

MVN包应该足以制造战争。只要不删除或重命名任何文件,就不需要运行 mvn 干净。这将使事情变得更快。

但是,要实现热部署(即在Web引擎开发服务器上立即获取新代码),您需要做一些额外的工作。确保你使用Eclipse的谷歌插件 - 你可以把它和maven一起使用。插件至少应该照顾静态文件的热部署。使用 Eclipse 在调试模式下运行应用程序会有所帮助,并且它能够动态替换方法的主体。

查找有关此问题的答案的更多信息。

匿名用户

从这个问题中不清楚到底发生了什么以及为什么。要弄清楚这一点,我们需要看到pom.xml和显示相关文件夹和文件的“tree”命令输出。然后我们可以将其与相关的 maven 插件应该做的事情进行比较,并从那里开始工作。

就目前而言,这是一个相当古老的问题,目前还不清楚到底发生了什么,OP很久以前就消失了。如果今天发生了此问题,最好的办法是发布到 App Engine 公共问题跟踪器,但如果问题不在 App Engine SDK(或相关的 maven 插件)中,而是来自行为不正常的第三方 maven 插件(例如 maven-compiler-plugin),则可能不合适。但是,在进行更深入的分析之前,很难事先知道。