我有了像的ClassNotFoundException在depdendent项目
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcmail-jdk15on</artifactId>
<version>1.56</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.0</version>
</dependency>
依赖关系,然后我的其他项目依赖于一个utils的项目utils的:
<dependency>
<groupId>com.mycomp.proj</groupId>
<artifactId>utils</artifactId>
<version>${utils.version}</version>
</dependency>
这工作得很好没有问题。然后我说这个包utils的:第一
<dependency>
<groupId>net.sf.jopt-simple</groupId>
<artifactId>jopt-simple</artifactId>
<version>4.9</version>
</dependency>
我mvn clean install
utils的,那么我的主要项目,并建立双方没有错误。但由于某些原因,当我尝试运行的主要项目,当它到达使用JOPT-简单的类,它与
ClassNotFoundException: joptsimple.OptionException
任何想法,为什么我可以毫不JOPT,简单的运行我的主要项目精崩溃utils包,但一旦我将它添加为依赖失败?我已经手动删除了我的m2回购库中的utils包,并重新构建了它,看看是否修复了它,但没有修复它。
如果您能够在没有依赖关系的情况下构建,那可能意味着类已经存在于类路径中。介绍该库可能会导致同一类的多个实现或覆盖相同的类。你可以分享你使用utils的项目的相关'mvn dependency:tree'。 – nullpointer
下面添加的依赖关系将覆盖上面的依赖关系。如果你使用的是eclipse,那么你可以检查Effective pom。或者在重新依赖的依赖性检查中确实包含了哪一个。确保该jar没有在你的项目的任何构建路径 –