欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

将项目打成war供另一个项目使用找不到类

程序员文章站 2022-03-15 22:58:06
...

先说说背景:前两天收到任务,需要将一个web项目a打包成一个功能提供给另一个项目b使用;

问题:于是我就将项目a打成war包并依赖进了项目b,结果发现在项目b能搜索到项目a的所有class文件,但在类中不能直接使用,会提示找不到文件。

排错:

1.我检查了External Librares是否有成功依赖并且正确打包,确认没有问题;

2.我对maven里关于项目a的文件删除重新打包并更新项目b,没有发现问题;

3.查阅相关资料,有网友建议说:

在pom.xml中<type>属性后面加一个<scope>compile</scope>

于是我检查了一下依赖

将项目打成war供另一个项目使用找不到类
发现目前已经是compile了,所以也没有问题。
最后快下班于是去问了一下领导。

结论是:javaweb项目如果希望整个打包提供给另一个项目使用,需要同时打两个包,一个jar包一个war包。

听到结果后我立马领悟了,是啊,class文件怎么能通过war使用到呢,傻了傻了。
下面是maven打jar包的配置

<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<version>2.4</version>
				<executions>
					<execution>
						<id>你项目的artifactId</id>
						<phase>package</phase>
						<goals>
							<goal>jar</goal>
						</goals>
						<configuration>
							<classifier>api</classifier>
						</configuration>
					</execution>
				</executions>
			</plugin>
相关标签: BUG解决