Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Maven web项目,类在外部JAR的war中未找到异常_Java_Eclipse_Maven - Fatal编程技术网

Java Maven web项目,类在外部JAR的war中未找到异常

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

我有一个maven web项目,我被要求包含一些第三方JAR(不在线),所以我使用

<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。