当前位置: 首页 > 知识库问答 >
问题:

用IntelliJ思想部署爆炸式多模块工程

栾英资
2023-03-14

我有一个maven-module“web-app”,其打包类型为war(JSF-application)。它依赖于同一个项目的另一个模块“核心”,打包类型为jar。这个jar包含Java类和资源(js或XHTML文件)。

现在,我在IntelliJ2016.3中使用Web-App的分解版本配置JBoss上的一个部署。但是模块“核心”也不会爆炸,所以我不能在核心的资源上执行热部署。但是:班级工作的热部署。

我已经尝试了对webapp-artifact的一些修改:当将“核心编译输出”添加到WEB-INF/classes时,我的JBoss启动了,但它找不到任何资源。当将“核心编译输出”添加到没有jar包围的WEB-INF/lib时,我会得到一系列classnotfound-exceptions。

--编辑

当使用maven打包项目时,web-app/target-文件夹将所有依赖项作为jar包含。在CrazyCoders评论使用maven-resources-plugin之后,我将以下代码段添加到web-app的pom.xml中:

# web-app/pom.xml
<build>
    ...
    <resources>
        <resource>
            <directory>../core/src/main/resources/META-INF/resources</directory>
        </resource>
    </resources>
    ...
</build>

现在这些资源位于web-app/target-文件夹中!例如,search.xhtml文件位于以下位置:

1. web-app/target/classes/app/search/search.xhtml
2. web-app/target/<finalName>/WEB-INF/classes/app/search/search.xhtml
3. web-app/target/<finalName>/WEB-INF/lib/core-1.11.0-SNAPSHOT.jar
4. core/target/core.jar

在重新装填时,仍然没有任何事情发生。在上面的截图中,配置了IntelliJ应该使用core-1.11.0-snapshot,而不是core.jar。或者这些资源没有得到更新是不是有其他原因?

问候,Rokko

共有1个答案

倪鸿禧
2023-03-14

这听起来和我过去几天一直在纠结的问题相似。问题是Intellij没有使用Maven构建模块。它只是做一个简单的编译。所以罐子没有得到正确的包装。我的解决方法是从lib节点中删除模块的条目,使用添加文件副本将其替换为新条目,并将其指向模块目标文件夹中的jar文件。完成这些之后,我还需要在配置中添加一个Run Maven目标,以便在构建war工件之前完成一个“干净的包”。

 类似资料:
  • 我们最近从maven迁移到gradle,自迁移以来,我们在部署方面遇到了以下问题。 我们gradle.kts与战争有关的部分如下: 我们可以轻松地部署创建的工件,并在其主机端口上访问其endpoint。 然而,一旦我们部署了辅助工件(在不同的端口上),第一个部署的服务就会突然失败,并出现以下错误: 完整堆栈跟踪如下:https://gist.github.com/knyttl/25711ccd79

  • 我创建了一个迷你应用程序,它依赖于Wiremock来模仿restful服务。 我遇到的问题是,当我尝试并使用该应用程序时,通过WebLogic12c,Wiremock期望的上下文路径不是正确的路径。我已经通过附加调试器证明了这一点。它会更改路径并添加到另一个文件夹中。

  • 我正在用JDK7在IDEA 13.02中试用XML SCHEMA 1.1 这是我从教程中获得的XML模式代码。当我在IntelliJ IDEA中打开这个文件并单击“验证”时,我得到以下错误: CVC-complex-type2.4.a:发现以元素“open content”开头的内容无效。“”http://www.w3.org/2001/XMLSchema“:注释、”http://www.w3.o

  • 我有一个Java web应用程序,我正在IntelliJ中开发,并使用Apache Tomcat进行部署。我定义了一些在团队中每个人之间共享的运行配置。这些运行配置定义为将分解的war工件部署到本地tomcat中。其他团队成员能够很好地部署和运行,但我遇到以下错误: IntelliJ似乎不想创建分解/项目。war目录。如果我手动创建这些目录,我不会收到该错误消息,但WAR内容都不会放入该目录。 我

  • 问题内容: 我有一个问题,我有一个字符串数组,并且我想在其他定界符中爆炸。例如 我需要一个在@或vs中爆炸的数组。 我已经写了一个解决方案,但是如果每个人都有更好的解决方案,请在此处发布。 问题答案: 怎么用

  • 问题内容: 我只是向我们介绍番石榴而不是Google收藏。拆分器类看起来很酷。但是当我使用它时,像这样: 我得到一个堆栈转储: Javadocs对此“ com.google.common.base.Platform”一无所知。因此很难猜测出了什么问题。 如您所见,Pattern非常简单。 问题答案: 您正在使用什么版本的番石榴?对于r05,这对我来说效果很好。 编辑: 似乎这里的特定问题是您在运行