18

我有一个相当复杂的 Java EE 项目,可以从 Maven 构建。将其导入 IDEA 后,我已将前端 WAR 和后端 EAR 部署到本地 Weblogic 12c 服务器。该项目还有几个“通用”工件打包为 jar,供前端和后端工件使用。对于部署,我使用分解的工件来节省一些打包/解包时间,直到那时一切正常。

在开发过程中,我编辑了一些 Java 源代码并尝试将更新的工件重新部署到正在运行的 Weblogic。我按下 Shift+F10,选择 Redeploy artifacts,我看到 IDEA 正在构建项目,项目在服务器上重新部署,而且我经常看不到任何最近的更改。即使我明确选择重建项目,然后尝试重新部署工件,服务器上也看不到任何更改。使我的更改出现在已部署的工件中的唯一安全方法是从调用目标的命令行调用 maven package,然后从 IDEA 重新部署。(没有安装 JRebel,在 IDE 或 Weblogic 上都在使用,我想保持这种状态)。

这是 IDEA 的预期行为吗?这可能是我们项目特有的东西还是全球性的东西?IDEA 是否应该能够发现哪些项目需要重新构建和重新打包,然后将 EAR/WAR 工件正确地重新部署到服务器?它是否需要我方面的任何帮助才能实现这一目标?

4

3 回答 3

1

你的运行/调试配置是什么?检查这个,如果还没有的话。

在快捷菜单中,编辑配置 > 运行/调试配置窗口:

  • 服务器选项卡:

    • 在“更新”操作中:重新启动服务器
    • 启动前:设置“run maven clean”和“run maven install”
  • 部署选项卡

    • 插入你的耳朵在这里。
于 2013-05-10T11:19:26.030 回答
1

不确定这个具体回答你的问题,但我可以建议你尝试配置 weblogic maven 插件

然后您可以从命令行/或带有 maven 支持的 IDEA 执行部署。

  1. http://docs.oracle.com/cd/E21764_01/web.1111/e13702/maven_deployer.htm
  2. http://www.youtube.com/watch?v=hagaMr6UL6U
于 2013-06-02T15:40:52.600 回答
0

即使您的最终目标是通过 IntelliJ 构建和部署选项完成整个构建过程,我将首先尝试以下操作:如果您的项目在 maven 中正确设置,您应该能够在 IntelliJ 中加载您的 maven pom.xml。您通过 mvn 命令行执行的所有 maven 构建命令和部署设置都将以漂亮的三结构显示在 IntelliJ 的 maven 面板中。

如果这行得通,那么显然通过您的 IntelliJ 构建构建的库之一没有正确部署到正确的位置。您需要缩小哪个罐子、耳朵或战争必须受到您所做的单个更改的影响,然后检查文件的日期是否在要部署的位置更新。

最后,我的建议是为您的 J2EE 项目使用 maven 或 gradle intelliJ 面板。当您实现完全通过 IntelliJ 理念构建项目的既定目标时。此外,您添加到 maven 的任何插件都会显示在您想法的 maven/gradle 面板中。这是一种相当直接的方法,您可以在 IntelliJ 中实现强大而灵活的部署和构建工具,如您所愿。

于 2013-06-27T21:53:12.190 回答