Exception in thread "main" java.lang.NoClassDefFoundError: com/mongodb/MongoClient
at de.therealjan.TheRealBot.MongoDB.<init>(MongoDB.java:14)
at de.therealjan.TheRealBot.TheRealBot.main(TheRealBot.java:16)
Caused by: java.lang.ClassNotFoundException: com.mongodb.MongoClient
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
mongodb.java:
package de.therealjan.TheRealBot;
import com.mongodb.DB;
import com.mongodb.MongoClient;
import com.mongodb.MongoClientURI;
import java.net.UnknownHostException;
public class MongoDB {
public MongoClient mongoClient;
public DB db;
public MongoDB() {
try {
mongoClient = new MongoClient(new MongoClientURI("mongodb://localhost:27017"));
} catch (UnknownHostException e) {
e.printStackTrace();
}
db = mongoClient.getDB("TheRealBot-JDA");
}
}
我认为Maven没有构建正确,但我不知道。(我运行了包Maven构建)
默认情况下,Maven不会将您的依赖项及其传递依赖项打包到构建工件中。这不会在编译时引起任何问题,因为依赖类位于IDE的libs类路径中。但在运行时,这可能引发ClassNotFoundException
异常,因为这些类不在运行时类路径中。您必须指示maven将它们打包到您的jar中。
在Mavenpom.xml
文件中添加这个插件。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>jar-with-dependencies</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>YOUR_MAIN_CLASS_FQN_GOES_HERE</mainClass>
</manifest>
</archive>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
确保您定义了您的主类。
我正在为Java企业应用程序类开发一个项目。我有一个带有ejb模块的应用程序,它有一个类库中的“facade”类,该类库连接到一个简单的类似Twitter的数据库。所有的逻辑都运行良好,但是,当我为facade添加远程bean并尝试运行它时,应用程序崩溃,最后包含堆栈跟踪。 通过查看GlassFish输出屏幕,我发现了以下警告: 警告: ACDEPL112:以下扩展或库引用自C:\用户[proje
注意:我在“可能重复”的问题中尝试了建议的答案,不幸的是,它们对我没有帮助。我稍微修改了一下我的问题。 错误是(翻译过来的,可能是不正确的措辞): myapp.jar中没有主清单属性 我尝试过在不同的平台上建议的不同的解决方案(例如这里和这里)。然而,据我所知,这似乎是我的的一个问题。 我的POM: 我查阅了我的,内容如下: 我似乎缺少的是: 我查阅了-文件,注意到了以下几点: 缺少文件 我的中没
HTSJDK是一个用于访问常见文件格式(如SAM和VCF)的库。我想构建HTSJDK JAR。在文档页面中说我必须为此使用Ant。所以我安装了Ant并运行以下命令: ant htsjdk-jar [javac]用法:javac [javac]use-help获取可能选项列表 生成失败 build.xml文件有问题。这里是文件的开头: 拜托,有人能告诉我该怎么做才能解决这个问题吗?
有人能这么好心解释一下如何在Netbean MavenJava应用程序中使用所有maven依赖项创建单个jar文件吗?在Eclipse中,用户可以导出到Runnable jar文件并选择将所需的库打包到生成的JAR中,因此项目中的所有依赖项都包含在创建的jar文件中。在Netbean中没有这样的选项。我检查了其他答案,但我唯一理解的是我必须将代码添加到Build.xml文件中,该文件甚至不在项目中
问题内容: 我有一个包含单个模块和一些依赖项的项目。我想在一个包含编译模块的单独目录中创建一个jar。另外,我想在模块旁边提供依赖项。 无论我如何扭曲IntelliJ的“构建jar”过程,模块的输出都将显示为空(除了META-INF文件之外)。 问题答案: 这是使用IntelliJ 10构建jar的方法http://blogs.jetbrains.com/idea/2010/08/quickly-
请注意:在泽维尔的回答之后编辑的回答 我试图在Android Studio中为一个相同的应用程序项目使用不同的构建风格。然而,我似乎有一个可怕的时间配置它适当地工作。 步骤: null **我检查了分级设置,显然使用自动导入已经启用。尽管如此,对build.gradle文件进行更改不会自动更新构建变体。注意:我还尝试使用Build-Rebuild项目和/或Build-Make项目。我仍然必须关闭项