java - 为什么 jar 文件不起作用并且出现异常?
问题描述
错误:无法初始化主类 com.telegram.client.MyClasses.Main 原因:java.lang.NoClassDefFoundError: org/telegram/telegrambots/generics/LongPollingBot 我做了 maven 安装,然后运行 jar 文件,安装有一些警告,但是不是错误。因此,当我运行 jar 文件时,它会引发此警报。我没有在我的项目中使用这个类,我不明白为什么它不起作用。PS对不起,我只是在学校学习英语。我的pom:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>TradingBot2</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<java.version>1.8</java.version>
<okhttp3.version>3.12.1</okhttp3.version>
<fastjson.version>1.2.47</fastjson.version>
</properties>
<dependencies>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>${okhttp3.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito</artifactId>
<version>1.7.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>1.7.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.6</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.10</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>org.telegram</groupId>
<artifactId>telegrambots</artifactId>
<version>3.5</version>
</dependency>
<dependency>
<groupId>org.telegram</groupId>
<artifactId>telegrambots-meta</artifactId>
<version>3.5</version>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
<compilerArgument>-Xlint:unchecked</compilerArgument>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<archive>
<manifest>
<mainClass>com.binance.client.MyClasses.Main</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
</project>
解决方案
这就是我们如何在 maven 项目中使用外部 jars -
<dependency>
<groupId>com.example.helloworld</groupId>
<artifactId>example-app</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${basedir}/lib/yourJar.jar</systemPath>
</dependency>
原始代码 - https://intellipaat.com/community/6786/how-to-add-local-jar-files-to-a-maven-project
推荐阅读
- docker - 从 tomcat docker 容器收集 tomcat 日志到 Filebeat docker 容器
- dns - 我可以将域映射到另一个子域吗?
- apache-kafka - 基于消费者滞后的Kafka节流生产者
- spring - 查询字段最大的文档
- youtube-data-api - youtube pubsubhubbub 通知延迟
- c++ - 如何从文本文件中填充指针数组?
- jsf - f:ajax 渲染引用迭代组件
- angular - 具有可变项目高度的 cdk-virtual-scroll-viewport
- c - mDNS 导致在 esp8266 上重新启动
- if-statement - Google 表格 - 如果多个单元格匹配,则将第三个单元格复制到第四个单元格