Java Maven web项目,类在外部JAR的war中未找到异常
我有一个maven web项目,我被要求包含一些第三方JAR(不在线),所以我使用Java Maven web项目,类在外部JAR的war中未找到异常,java,eclipse,maven,Java,Eclipse,Maven,我有一个maven web项目,我被要求包含一些第三方JAR(不在线),所以我使用 <dependency> <groupId>com.smas.cluster</groupId> <artifactId>cluster-smas</artifactId> <version>2.0-SNAPSHOT</version> <scope>system</scope&g
<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>
com.smas.cluster
集群smas
2.0-快照
系统
${project.basedir}/src/main/resources/cluster-smas-2.0-SNAPSHOT.jar
我面临的问题是,当我运行maven clean安装时,生成的war文件不包括第三方jar。
搜索之后,我找到了一个解决方案,我将jar复制到lib文件夹中(在项目的根目录下创建),然后在Pom文件中使用以下代码段
<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>
org.apache.maven.plugins
maven战争插件
2.0.2
${project.basedir}/libs/
WEB-INF/lib
jar现在从我的lib文件夹复制到生成的war文件中的WEB-INF/lib/中。但是当我运行服务时,我得到了类not found exception的错误。试试这个,删除
system
范围和systemPath
,删除war插件,只留下依赖声明
<dependency>
<groupId>com.smas.cluster</groupId>
<artifactId>cluster-smas</artifactId>
<version>2.0-SNAPSHOT</version>
</dependency>
com.smas.cluster
集群smas
2.0-快照
构建您的项目。您的依赖项JAR应该出现在WEB-INF/lib中,并且这些类将在运行时可用。您能显示错误吗?如果lib在lib文件夹中,并且您仍然收到该错误,则表示缺少的类不在该jar中。可能是它的一个依赖项。我已经检查了类所在的jar。可能是因为我添加jar的方式不正确,这应该在maven中完成?您是否检查了war文件所在的正在运行的容器(例如tomcat)是否实际包含该jar?同时发布完整的错误跟踪。将jar文件放入tomcat/lib目录并重新启动tomcat。