【问题标题】:Netbeans Maven project to IDEA 12Netbeans Maven 项目到 IDEA 12
【发布时间】:2013-02-17 16:37:16
【问题描述】:

短版:我想将 Maven 生成的 WAR 部署到本地 Tomcat 服务器,而不是使用内部 IDEA 进程构建战争,因为生成的 WAR 文件不是和 Maven 生成的一样。

长版:我一直在为我的 Maven Java 项目使用 Netbeans IDE。其中一个模块被打包为 WAR,应该部署到 tomcat 服务器。 在 Netbeans 中,当我在 Web 模块上选择“运行”时,它会询问应用程序服务器配置,然后它运行 maven 的“包”目标,并可能通过 Tomcat 管理器将应用程序(生成的 WAR)部署到 Tomcat 服务器。到目前为止一切顺利。

我们现在正在切换到 Scala 语言。 Scala 类扩展了旧的 Java 类,该项目现在是“混合”的。我已将 Maven 配置为将项目编译为 scala 和 java 代码的混合。 Maven 生成一个 WAR,然后可以毫无问题地将其部署到 Tomcat 服务器 - 一切正常。

现在我想切换到 Intellij-idea 12 IDE。但我有一个问题:IDEA 拒绝部署 Maven 创建的工件并坚持自己构建一个。战争不一样,不能用。有没有办法告诉 IDEA 使用 Maven 生成的 WAR,而不是尝试自己制作?

为了记录,我已经阅读了这些文章:

【问题讨论】:

  • 欢迎来到 IDE 的 Maven 部署连接器的奇妙世界。我一直在遭受similar problem in Eclipse 的痛苦,其中 Maven 生成的战争起作用了,而 Eclipse 生成的战争却没有。我担心你能做的就是手动部署它。
  • 一切都在 Netbeans 中发挥着魅力,因为它只是部署 WAR 文件。也许有一种方法可以用我还没有找到的 IDEA 来做到这一点。
  • 在应用服务器运行配置中使用外部源deployment option。在 Launch 之前,您可以配置执行 Maven 目标而不是 Make,并使用 Maven 生成的文件夹作为外部源。

标签: scala maven intellij-idea war


【解决方案1】:

在 CrazyCoder 的帮助下,我想通了。

您可以通过选择外部源使 Intellij-Idea 上传您的战争

但这还不是全部,即使您有一个 context.xml 文件来定义您的 WAR 文件中的上下文根:http://docs.oracle.com/javaee/1.4/tutorial/doc/WebApp3.html

您必须为您部署的每个工件指定一个(除非有人纠正我)

启动前部分可用于告诉 Idea 要运行的 Maven 目标(如果有)

【讨论】:

  • 我想知道 IDEA 中是否有一种方法可以从“src/webapp/META-INF/context.xml”中的 context.xml 文件中读取“上下文根”而不是指定它每次部署都要手动操作?
猜你喜欢
  • 2021-01-30
  • 1970-01-01
  • 1970-01-01
  • 2014-11-19
  • 2011-10-12
  • 1970-01-01
  • 2011-02-22
  • 2021-04-26
  • 1970-01-01
相关资源
最近更新 更多