在maven项目中调用外部JAR时获取NoClassDefFoundError

时间:2017-06-27 14:04:47

标签: java eclipse maven

我有一个基于maven的项目,我必须调用外部jar (比如country.jar)

我在 src / lib 文件夹中添加了这个jar,并在pom.xml中进行了以下设置

<dependency>
     <groupId>country-stubs</groupId>
     <artifactId>country-stubs</artifactId>
     <scope>system</scope>
     <version>1.0</version>
     <systemPath>${basedir}\src\lib\country.jar</systemPath>
  </dependency>

运行我的应用程序时遇到错误 java.lang.NoClassDefFoundError:com / fsg / bpo / webservices / countWebService

位置( com / fsg / bpo / webservices / countWebService )指的是国家/地区JAR下的班级

我是否需要添加更多设置才能在maven中配置外部JAR?

3 个答案:

答案 0 :(得分:0)

如果您正在使用示波器系统,那么您以后会说它是一个提供的jar。我可能会使用运行时。 Have a look at maven scopes

答案 1 :(得分:0)

如果它是Web应用程序,则您的jar不会捆绑在war文件中。那你就会遇到这个问题。您可以直接将country.jar复制到您的WEB-INF lib文件夹并使用该系统路径。

答案 2 :(得分:0)

第一个你需要将你的外部jar添加到你的本地maven目录.. 在cmd ..上使用以下命令。

mvn install:install-file -DgroupId = -DartifactId = aes-decryption -Dversion = 1.0.0 -Dpackaging = jar -Dfile =。/ target / aes-decryption-1.0.0.jar -DgeneratePom = true