java - 添加 .jar 时无法运行 java

标签 java javac

我有一个 java 类 (ts3.java),并且我正在为一个项目使用 teampeak3.jar。 在 ts3.java 中我导入:

import com.github.theholywaffle.teamspeak3.TS3Api;
import com.github.theholywaffle.teamspeak3.TS3Config;
import com.github.theholywaffle.teamspeak3.TS3Query;
import com.github.theholywaffle.teamspeak3.api.TextMessageTargetMode;
import com.github.theholywaffle.teamspeak3.api.event.TS3EventAdapter;
import com.github.theholywaffle.teamspeak3.api.event.TS3EventType;
import com.github.theholywaffle.teamspeak3.api.event.TextMessageEvent;
import java.util.logging.Level;

并使用javac -cp teampeak3.jar ts3.java进行编译,并且完美运行

当我尝试运行java -cp .:./teamspeak3.jar ts3时,它说:错误:无法找到或加载主类ts3

我正在尝试让它运行 30 分钟,但没有成功。尝试了一切。请帮我。我不想将 ts3.class 放在某个 .com 文件夹中并向其中添加包。

最佳答案

如果我理解正确的话,你的主类叫做ts3, 它是默认包(无包)。 然后,验证当前目录中是否存在 ts3.class (ls ts3.class)。 因为看起来事实并非如此。

如果ts3.class位于不同的目录中,或者不在默认包中(其中有package ...声明), 那么您需要调整 -cp 参数的值以及可能的工作目录。

其他需要注意的事项:

  • 该类必须声明为 public,并且具有带签名的方法 public static void main(String[] args)

  • 类名称区分大小写。如果名称为 Ts3,那么它应该位于文件 Ts3.class 中,并且命令应使用 Ts3 作为类名来运行.

  • 在 Windows 中,类路径中的分隔符是 ;(分号),而不是 :(冒号)。那么 -cp 的值应该类似于 .;teamspeak3.jar

关于java - 添加 .jar 时无法运行 java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32800026/

相关文章:

Java2D : Clipping a Graphics object with a Line

maven - 无法编译Java 10功能

Java执行错误

具有依赖关系的 javac 文件

Java:匿名类的初始化和构造函数

Java:枚举:NoClassDefFoundError

java - 在 DAO 中反射(reflect)继承关系最有效的方法是什么?

java - Spring @Async 是否适用于客户端-服务器通信?

java - 当jar存在时出现NoClassDefFoundError,特别是对于mysql-connector-java-8.0.20.jar

java - 斯坦福解析器