【问题标题】:How to import/embed one Spring-Maven JAR Application into Another Spring-Maven WAR Application如何将一个 Spring-Maven JAR 应用程序导入/嵌入到另一个 Spring-Maven WAR 应用程序中
【发布时间】:2014-10-21 16:52:04
【问题描述】:

我想在不同的应用程序中创建持久层(MVC 模型),生成一个 JAR,该 JAR 将被导入 WAR(使用 MVC 的视图和控制器)...

在两个应用程序(JAR 和 WAR)中,我想使用 Spring(管理持久性和事务以及依赖注入)和 Maven(管理两个项目的去依赖)...

我认为每个 Spring-Maven 应用程序都会有自己的 applicationContext.xml(或者 WAR 应用程序也可以在 JAR 应用程序中注入依赖项,两个项目只有一个配置文件?)我知道每个项目都有自己的自己的 pom.xml...

但是必须如何进行整合呢?我希望 JAR 应用程序将在 WAR 应用程序中声明为依赖项,并且 Maven 会自动从 SVN 存储库下载 Jar ......但我想这是另一个问题......

【问题讨论】:

    标签: eclipse spring maven svn jpa


    【解决方案1】:
    1. 创建一个简单的 Maven 项目(这将是 parent,parent-module)并在 pom.xml 中定义 war-module 和 jar-module 的公共依赖项。
    2. 创建一个新的 maven 模块,war-module,并将其定义为 war 和父模块的子模块。您将在此处获得 web.xml 和一个 applicationContext.xml。
    3. 创建一个新的 maven 模块 jar-module,并将其定义为 jar 和父模块的子模块。您将在这里拥有另一个 applicationContext.xml。
    4. 在 pom.xml 文件中从 war-module 导入 jar-module 作为依赖项。
    5. 在 applicationContext.xml from war-module import applicationContext.xml from jar-module like here

    希望对你有帮助。

    【讨论】:

    • 非常感谢...我在尝试启动 WebApp 时遇到问题...我收到此错误:
    • 2014-08-29 16:29:04.736::WARN: 上下文 org.mortbay.jetty.plugin .Jetty6PluginWebAppContext@1cb817b{/MyApp,Path\MyApp\src\main\webapp 启动失败org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException:来自 URL [jar:file:/C:/repositoryMaven/MyAppModelApp/0.1.0. BUILD-SNAPSHOT/MyAppModelApp-0.1.0.BUILD-SNAPSHOT-jar-with-dependencies.jar!/META-INF/spring/applicationContext.xml] 无效;嵌套异常是 org.xml.sax.SAXParseException;行号:2;列号:919; cvc-elt.1:找不到元素“beans”的声明。在 org.springf...
    • 当 webapp (WAR) 尝试读取 JAR 的 applicationContext.xml 时会发生这种情况...
    • jar-module中的applicationContext.xml文件有错误吗?或者你可能没有 jar-module 中需要的所有依赖项
    • 右键单击 jar-module > Run As > Maven Build... 并将目标设置为清理和安装。如果它失败了,那只是因为 jar-module
    猜你喜欢
    • 1970-01-01
    • 2017-03-15
    • 2010-09-23
    • 1970-01-01
    • 2018-05-03
    • 2019-03-07
    • 2015-04-14
    • 2015-04-05
    • 1970-01-01
    相关资源
    最近更新 更多