Class Maven依赖项已给定,但在执行时仍找不到一个类
我在pom.xml中为cdk添加了maven依赖项,但在执行jar文件时仍然出现一个错误,即找不到类Class Maven依赖项已给定,但在执行时仍找不到一个类,class,maven,dependencies,Class,Maven,Dependencies,我在pom.xml中为cdk添加了maven依赖项,但在执行jar文件时仍然出现一个错误,即找不到类 dyna218-128:spark4vs laeeqahmed$ java -cp target/spark4vs-1.0-SNAPSHOT.jar se.uu.farmbio.spark4vs.RunPrediction Exception in thread "main" java.lang.NoClassDefFoundError: org/openscience/cdk/interfac
dyna218-128:spark4vs laeeqahmed$ java -cp target/spark4vs-1.0-SNAPSHOT.jar se.uu.farmbio.spark4vs.RunPrediction
Exception in thread "main" java.lang.NoClassDefFoundError: org/openscience/cdk/interfaces/IAtomContainer
Caused by: java.lang.ClassNotFoundException: org.openscience.cdk.interfaces.IAtomContainer
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
POM.XML如下所示
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
</dependency>
<dependency><!-- SVM depedency -->
<groupId>tw.edu.ntu.csie</groupId>
<artifactId>libsvm</artifactId>
<version>3.1</version>
</dependency>
<dependency>
<groupId>org.openscience.cdk</groupId>
<artifactId>cdk</artifactId>
<version>1.4.7</version>
</dependency>
log4j
log4j
1.2.16
tw.edu.ntu.csie
libsvm
3.1
org.openscience.cdk
cdk
1.4.7
第三方
https://maven.ch.cam.ac.uk/content/repositories/thirdparty/
Maven依赖项用于构建项目。Maven Jar插件在打包Jar id时没有使用它。所以你不能不做额外的工作就跑
有很多解决办法。例如,您可以使用Maven One Jar插件并将所有依赖项打包到Jar中,但这并不总是可用的
您可以使用jar依赖项创建归档
您可以使用Maven Shade插件将所有JAR合并为一个JAR
<repositories>
<repository>
<id>3rdparty</id>
<url>https://maven.ch.cam.ac.uk/content/repositories/thirdparty/</url>
</repository>
</repositories>