0 0

Maven项目依赖问题5

目前的项目结构是,一个web项目依赖几个普通项目,整体是通过tomcat从web项目启动

在eclipse中,如果依赖项目也在工作区,而且是打开状态,那maven默认以项目的形式(而不是jar)添加到lib中,这样的好处是每个项目的代码修改都可以即时反馈,而不用反复打包

现在碰到一个问题,因为启动的时候要读取各个项目的配置文件,如果是jar的形式,listener在classpath是可以自动读取到lib中jar里的配置文件的;但要是以项目的形式,listener在classpath下是读取不到其他项目中的配置文件的(好像web项目和普通项目的classpath不一致,普通项目之间没有这个问题)

所以,目前每次启动前,都要关闭所有的依赖项目,强制maven以jar的形式引用其他项目,很麻烦。。。

想请教一下,怎么解决这个问题?既可以加载到配置文件又不用总是关闭项目?用插件能实现吗,或者是其他的什么方法,希望解答的时候,能说的详细一点,谢谢。。。
2013年9月30日 11:27

3个答案 按时间排序 按投票排序

0 0

自己写个ant脚本处理吧,暂时没有想到什么好的方法。不过个人觉得既然都用maven了,你这种使用方式有点儿不伦不类,项目之间定义好接口,被依赖的项目可以直接以JAR的形式加到web项目的classpath,除非是最后的测试阶段,否则应该不会有太大麻烦

2013年9月30日 17:47
0 0

我先说说我的理解吧:
1、对web项目执行install命令的时候,Maven会将web项目的依赖copy到target/项目名/WEB-INF/lib下,你先检查下你依赖的那几个普通项目的包有没有被copy进去;
2、刚才你说的是配置文件,如果你依赖的包都被copy到了lib下面,检查一下每个包里面的配置文件是否存在;
3、如果上面检查不通过那你在那几个普通项目或者他们的父项目的pom.xml试试下面这段代码,然后对每个项目执行install命令:



4、如果还不行,那你就晒晒你的项目结构吧

2013年9月30日 17:25
0 0

楼主的意思是如果不关闭那些被依赖的项目,启动你的web项目时,那些被依赖项目加载不到web的classpath里面来吗?

2013年9月30日 17:10

相关推荐

    添加非托管到Maven项目依赖关系.doc

    "Maven 项目依赖关系管理" Maven 项目依赖关系管理是 Java 应用程序开发中非常重要的一步。Maven 是一种流行的项目管理工具,可以帮助开发者快速构建和管理项目。然而,在实际开发中,我们常常会遇到一些不可以在...

    maven依赖小例子

    本示例旨在向你展示如何在Maven项目中处理依赖管理,这对于理解和优化你的开发流程至关重要。 Maven依赖管理是Maven的核心功能之一,它允许开发者声明项目所依赖的库,并自动下载这些库到本地仓库,以便于构建和...

    Maven的依赖验证项目

    【Maven的依赖验证项目】是一个关于Maven项目管理和依赖管理的实践案例,它与CSDN博主songdeitao的一篇文章《Maven依赖管理详解》相关联。在这个项目中,我们将深入理解Maven如何处理项目的依赖关系,以及如何有效地...

    Maven 多项目依赖关系

    每个Maven项目都有一个核心配置文件——`pom.xml`,它定义了项目的元数据,包括项目名称、版本、描述、开发者信息以及项目依赖。在多项目环境中,`pom.xml`文件还负责声明其他子项目或外部库的依赖关系。 二、模块...

    maven 中引入依赖的包

    这是每个Maven项目的心脏,它定义了项目的配置信息,包括项目的基本信息(如groupId、artifactId、version),以及项目依赖的外部库。当你需要引入一个新的依赖包时,你需要编辑`pom.xml`文件,添加相应的`...

    dubbo项目maven依赖

    1. **依赖版本不匹配**:Dubbo项目依赖于许多其他库,如果本地Maven仓库中的依赖版本与项目中声明的不一致,可能导致编译失败。解决方法是更新Maven的settings.xml文件,或者在pom.xml中指定特定版本。 2. **网络...

    ​实现maven项目中多版本依赖兼容使用解决方案

    以下是如何实现Maven项目中多版本依赖兼容的解决方案: 1. **理解Maven依赖管理**: Maven依赖管理遵循“传递性”原则,即项目可以直接依赖其他项目,间接依赖也会被自动引入。当出现相同类路径的冲突时,Maven会...

    maven项目转换WEB项目

    总之,Maven项目转换为Eclipse的Web项目主要是为了适应熟悉的开发环境,而Maven的目录结构和依赖管理机制仍然是项目的核心。通过以上步骤,你可以有效地在Eclipse中管理和开发Maven Web项目,同时逐步了解并掌握...

    Maven离线依赖包v2

    Maven是Java开发中广泛使用的构建工具,它通过项目对象模型(Project Object Model,POM)来管理项目的构建、报告和依赖关系。"Maven离线依赖包v2"指的是一个包含Maven仓库中多种库的压缩文件集合,主要用于在没有...

    Maven运行依赖实例

    如果一个项目依赖于另一个项目,那么前者也会间接拥有后者的依赖。依赖的范围可以是`compile`(编译时)、`test`(仅测试时)、`runtime`(运行时)等,根据需求设定。 3. **生命周期与插件**:Maven有预定义的生命...

    导出maven项目依赖的jar包(图文教程)

    Maven 项目依赖 jar 包导出详细教程 Maven 是一个Project Object Model(POM)项目管理工具,广泛应用于 Java 项目中。其中一个非常重要的功能是管理项目依赖关系。下面我们将详细介绍如何将 Maven 项目依赖的 jar ...

    maven依赖+继承+聚合

    聚合(Aggregation)是指在单个Maven项目中管理多个子项目的能力。在`pom.xml`中定义`modules`标签,可以将多个子项目包含进来。这样,当我们在顶层项目上执行命令时,Maven会递归地构建所有子项目。例如: ```xml ...

    Maven中的依赖

    1. **pom.xml文件**:这是Maven项目的配置文件,其中包含了项目的基本信息(如groupId、artifactId、version),以及项目所依赖的外部库(dependencies)。例如: ```xml <modelVersion>4.0.0 <groupId>...

    查看maven项目依赖的jar包树.txt

    该文档是如何查看maven项目依赖的jar包树,请大家下载!

    普通Maven项目,Java,Maven,依赖

    - 依赖管理:Maven通过POM文件中的标签来管理项目依赖,自动下载并管理这些依赖库,避免版本冲突问题。 2. Maven生命周期与构建阶段: - Maven有三个核心生命周期:clean(清理),default(构建),site(生成...

    maven_package 依赖包(完整)

    Maven的核心概念之一是项目对象模型(Project Object Model,POM),这是一个XML文件,包含了项目的配置信息,如项目依赖、构建目标、构建过程等。通过POM,Maven能够自动下载所需的依赖库,避免了手动管理jar文件的...

    maven项目转动态web项目,部署到tomcat

    这一步骤将使得项目能够使用 Maven 的依赖管理功能。 步骤 3: 转换为动态 Web 项目 右键点击项目,然后选择"Properties"-"Project Facets"-"Modify",在弹出的面板中,选择"Java"和"Dynamic Web Module",然后点击...

    Maven 依赖详细理解.pdf

    总的来说,Maven的依赖管理功能非常强大,可以帮助我们有效地管理和解决项目依赖问题。通过合理地使用POM文件、依赖范围、依赖调解和传递性依赖等机制,我们可以更好地构建和维护我们的Maven项目。

    maven项目搭建可能遇到的问题

    ### Maven项目搭建可能遇到的问题及解决方案 在进行Maven项目的搭建过程中,开发人员经常会遇到各种问题,这些问题如果不妥善处理,可能会严重影响项目的进度和质量。本文将详细介绍Maven项目搭建过程中可能遇到的...

    maven依赖包(用于博客项目)

    本资源“maven依赖包(用于博客项目)”显然包含了一系列与博客项目相关的Maven依赖,这些依赖可能包括数据库连接库、模板引擎、日志框架、安全组件以及其他有助于构建博客平台的Java库。 1. **Maven仓库**: ...

Global site tag (gtag.js) - Google Analytics