Maven多模块聚合项目出现类不存在的问题解决方法

在这里插入图片描述
聚合项目做好,依赖检查过了没有问题,在启动项目的时候出现程序包com.xxx.xxx.damain不存在
猜想原因是工程打包编译时,会生成两种jar包,一种是普通的jar,另一种是可执行jar。

默认情况下,这两种jar的名称相同,在不做配置的情况下,普通的jar先生成,可执行jar后生成,造成可执行jar会覆盖普通的jar。而ssm-dao工程无法依赖damain工程的可执行jar,所以编译失败:程序包xxx不存在
解决方案:

在ssm-damain子工程下的pom.xml,添加以下配置

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<classifier>exec</classifier>
				</configuration>
			</plugin>
		</plugins>

就可以了,奇怪的是,成功运行一次之后,clear所有项目,删掉这段代码,也可以运行,不知道为什么,求网友解答

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Maven聚合项目是指将多个子项目组织在一起,形成一个大的项目。通过聚合项目,可以方便地管理和构建多个相关的子项目。 以下是使用Maven搭建聚合项目的步骤: 1. 创建父项目:在IDEA创建一个新的Maven项目,作为父项目。可以使用以下命令创建一个空的Maven项目: ```shell mvn archetype:generate -DgroupId=com.example -DartifactId=parent-project -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false ``` 2. 创建子项目:在父项目下创建多个子项目。可以使用以下命令在父项目下创建子项目: ```shell mvn archetype:generate -DgroupId=com.example -DartifactId=child-project1 -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false mvn archetype:generate -DgroupId=com.example -DartifactId=child-project2 -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false ``` 3. 配置父项目的pom.xml文件:在父项目的pom.xml文件添加子项目模块信息。在`<modules>`标签添加子项目的artifactId,例如: ```xml <modules> <module>child-project1</module> <module>child-project2</module> </modules> ``` 4. 构建聚合项目:在父项目的根目录下执行以下命令,构建聚合项目: ```shell mvn clean install ``` 5. 运行子项目:可以在子项目的目录下执行相应的命令,例如: ```shell cd child-project1 mvn clean package ``` 通过以上步骤,你就可以成功搭建一个Maven聚合项目了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值