用eclipse maven构建的多模块工程,代码调通没有报错,各个工程maven install也没有问题,eclipse自带的server中创建tomcat server后,将maven多模块工程的主工程发布到tomcat下,启动时总是报错找不到其他模块工程中的类。问过度娘后,整理解决方法如下:

除主工程(即要发布到tomcat下的工程,包含了web.xml等一系列配置的web工程)外的其他模块工程都工程右键->Run As->Maven install,将工程打成jar包install到本地仓库,然后关闭这些工程(close project),在主工程的pom.xml中添加子模块工程的依赖。之后,tomcat重新clean并启动项目,问题解决。

此方法中,主工程能够找到依赖的其他模块工程项目是因为pom.xml中添加了其他工程的依赖,而其他工程已经install到本地仓库并且关闭了。项目启动时,maven仓库下之前install的jar包会自动打到tomcat的主工程的lib目录下。

方法1中,虽然能找到类了,但在开发中,如果需要更改其他模块工程中的代码,则更改后还有重新maven install,关闭工程,发布到tomcat,重新启动,才能使更改生效。故而,更好的解决方案是,配置主工程的deployment assembly属性,使得其从workspace中打包代码而不从maven库中。首先,打开之前关闭的所有其他模块工程,然后依然要在主工程的pom.xml中配置对其他模块工程的依赖。接着,主工程右键->build path->deployment assembly,将依赖的其他模块工程添加进去,配置例如:

然后,tomcat重新clean,会发现原来的主工程下会有刚才加入的其他模块工程依赖,如下:

重新发布启动工程,主工程能够找到其他依赖工程的类,且其他模块工程修改后,不需要再maven install,可以直接生效。也可以用debug模式,问题解决。这种方法中,其实依赖的其他模块工程还是会被打成jar包放到tomcat下,不过不需要我们手动install,配置完成后,tomcat clean会自动打包。

另,方法2中,我曾遇到过配置了deployment assembly的其他模块工程依赖后,依然class not found的情况,这时候需要检查其他模块工程(非主工程)的deployment assembly配置,如下:

deploy path要更改为/,这样这个模块工程被打成jar包后,其中的class文件才会在jar包的根目录下,主工程才能找到。

接手了一个 maven 管理的多 模块 项目,又是javaconfig,又是spring data jpa,还算是比较新比较正规的 模块 化结构吧..然后我往其 的一个 模块 新添加了一个jpa的entity,然后运行提示 不到 新添加的 ..倘若这不是jpa项目,倘若这不是javaconfig写的也许就不会出现之后的血案.... 一开始我的想法是jpa扫描问题.检查jpa的entity的扫描路径配置的是正确的... 文章目录前言 不到 分布式项目所依赖的子项目api解决方案 不到 符号 && 方法不会覆盖或实现超 型的方法原因:解决步骤: 本文作为: Maven 打包项目及其遇到的问题解决方案的遇到的问题和解决方案补充。 不到 分布式项目所依赖的子项目api 以简单的demo项目为例: [ERROR] Failed to execute goal on project dubbo-demo-consumer:Could not resolve dependencies for project com. 1.springboot多 模块 maven 父子 工程 ,B 模块 依赖了A, A打包没问题,之后打包B,报错依赖的A 的包 不到 ,但是idea里导入都是好的,没有报错。 2.解决:BOOT-INF的坑 在多 module 的环境下,jar包之间相互依赖,这时候打包的时候就会有先后顺序的问题。 在项目开发后打包的时候发现通过原始建立的多 module 的项目会出现问题; 原始的spri... 因为之前用到的是,基于springboot框架所搭建的 maven 工程 ,而且都是相互独立的。现研发经理要求将所有 工程 进行整合和规范化,所以抽出一个parent父 工程 ,base基础 模块 (包含一些公用的实体 和工具 等),以及其他子 模块 ( Module A、 Modu... 出现多 模块 打包 不到 和符号的问题? maven -compiler-plugin和spring-boot- maven -plugin 这俩个插件是我们微服务打包常用到的 1,每个 模块 配置了spring-boot- maven -plugin 打出来的包都是独立的,即使你clean install 都一样。 2,idea工具有时候打包会出问题,最好的解决办法是通过命令去编译项目打包。 3,启动的项目配置打包。比如我们有三个 maven 模块 :parent,service,server。其 server是一个可以 比如,你看图,全是注释,相当于这个文档里面没东西当然会错! 解决方法: ①复制一份别人的写好的setting.xml文档,记得改一下localRepository, 的本地仓库路径。还有servers里面的username/password或privateKey/passphrase(可选)也可以改。 ②自己参照原来那个全是注释的setting文件写。里面都有举例而且什么东西是什么介绍的都 在开发 ,无论是在微服务架构下还是单体架构下,我们经常使用到多 模块 开发,其 必然有抽取公共 模块 ,将重复的依赖和重复的工具 整合的一个过程。但在我们打包时,我们经常会莫名其妙地出现can't find sympol的问题。明明在java 的import语句 正常导入了正确路径的 ,也没有爆红,为什么会 不到 呢?这主要是由于我们在对common 模块 打包时jar包的属性以及结构导致的原因。 项目结构如图所示: 这个里六个 模块 。run启动 模块 ,也是需要打成jar包启动的.依赖顺序是run->server->agreement->handler->command.由于client是我用来连接测试,暂不讨论。除了run 模块 之外其他 模块 只有一句话,引入其他 模块 ,如server : dependencies { compile project(":xia-agreement") 引入其他 模块 。由于compile具有依赖传递性,就是说如果A依赖B,B又依赖C(A-&