【发布时间】: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,而不是尝试自己制作?
为了记录,我已经阅读了这些文章:
- http://riddhimandas.com/blog/111
- http://www.jetbrains.com/idea/webhelp/configuring-web-application-deployment.html 通过 IDEA 手动构建 WAR - 想要 maven 生成一个
- IntelliJ IDEA: Maven, project compilation and deployment 这里有一个提示,IDEA 可以从“目标”目录部署 Maven 工件,但没有关于如何做到这一点的信息。
【问题讨论】:
-
欢迎来到 IDE 的 Maven 部署连接器的奇妙世界。我一直在遭受similar problem in Eclipse 的痛苦,其中 Maven 生成的战争起作用了,而 Eclipse 生成的战争却没有。我担心你能做的就是手动部署它。
-
一切都在 Netbeans 中发挥着魅力,因为它只是部署 WAR 文件。也许有一种方法可以用我还没有找到的 IDEA 来做到这一点。
-
在应用服务器运行配置中使用外部源deployment option。在 Launch 之前,您可以配置执行 Maven 目标而不是 Make,并使用 Maven 生成的文件夹作为外部源。
标签: scala maven intellij-idea war