【发布时间】:2017-12-19 01:50:50
【问题描述】:
我有一个 maven web 项目,我需要包含一些第三方 jars(不存在在线)所以我使用安装它们
<dependency>
<groupId>com.smas.cluster</groupId>
<artifactId>cluster-smas</artifactId>
<version>2.0-SNAPSHOT</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/cluster-smas-2.0-SNAPSHOT.jar</systemPath>
</dependency>
我面临的问题是,当我运行 maven clean install 时,生成的 war 文件不包含第 3 方 jar。 搜索后我找到了一个解决方案,我在 lib 文件夹中复制了 jar(在项目的根目录中创建),然后我在 Pom 文件中使用了以下 sn-p
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<webResources>
<resource>
<directory>${project.basedir}/libs/</directory>
<targetPath>WEB-INF/lib</targetPath>
</resource>
</webResources>
</configuration>
</plugin>
</plugins>
jar 现在从我的 lib 文件夹复制到生成的 war 文件中的 WEB-INF/lib/ 中。但是当我运行该服务时,我得到了 Class not found 异常的错误。
【问题讨论】:
-
你能显示错误吗?如果 lib 在 lib 文件夹中并且您仍然收到该错误,则意味着该 jar 中不存在缺少的类。也许它来自它的依赖。
-
我已经检查了该类所在的 jar。可能是因为我没有以正确的方式添加罐子,因为它应该在 maven 中完成?
-
你检查过你的war文件所在的运行容器(例如tomcat)是否真的有那个jar?
-
也发布完整的错误跟踪。
-
将jar文件放入tomcat /lib目录,重启tomcat。