除了手动反编译类,检查它的所有依赖项,以及这些依赖项是否在类路径上,等等,对每个依赖类无限....有没有任何方法可以准确地确定类路径中缺少了哪个类,从而导致Java无法加载我的主类?
另一个问题是缺少父/接口类的问题。但是我已经手动检查了所有祖先类或者在指定的类路径上,或者在JDK中,如下所示。
$ cd ~/picketbox
$ java -cp picketbox-4.1.1.Final-redhat-1.jar org.picketbox.datasource.security.SecureIdentityLoginModule HelloWorld
Error: Could not find or load main class org.picketbox.datasource.security.SecureIdentityLoginModule
$ jar xvf picketbox-4.1.1.Final-redhat-1.jar > jarxvf.txt
$ cat jarxvf.txt | grep SecureIdentityLoginModule
inflated: org/picketbox/datasource/security/SecureIdentityLoginModule.class
$ cd org/picketbox/datasource/security/
$ javap SecureIdentityLoginModule.class | grep main
public static void main(java.lang.String[]) throws java.lang.Exception;
$ javap SecureIdentityLoginModule.class | grep extends
public class org.picketbox.datasource.security.SecureIdentityLoginModule extends org.picketbox.datasource.security.AbstractPasswordCredentialLoginModule {
$ cat ~/picketbox/jarxvf.txt | grep AbstractPasswordCredentialLoginModule
inflated: org/picketbox/datasource/security/AbstractPasswordCredentialLoginModule.class
$ javap AbstractPasswordCredentialLoginModule.class | grep extends
public abstract class org.picketbox.datasource.security.AbstractPasswordCredentialLoginModule extends org.jboss.security.auth.spi.AbstractServerLoginModule {
$ cat ~/picketbox/jarxvf.txt | grep AbstractServerLoginModule
inflated: org/jboss/security/auth/spi/AbstractServerLoginModule.class
$ cd ~/picketbox/org/jboss/security/auth/spi/
$ javap AbstractServerLoginModule.class | grep implements
public abstract class org.jboss.security.auth.spi.AbstractServerLoginModule implements javax.security.auth.spi.LoginModule {
$ cd ~/rtjar
$ cp /usr/java/jdk1.8.0_141/jre/lib/rt.jar ./
$ jar xvf rt.jar | grep spi/LoginModule
extracted: javax/security/auth/spi/LoginModule.class
$ cd javax/security/auth/spi/
$ javap LoginModule.class | grep interface
public interface javax.security.auth.spi.LoginModule {
$
创建帮助器类:
public class Helper {
public static void main(String[] args) {
YourActualMainClass.main(args);
}
}
并尝试运行这个帮助器类,而不是YourActualMainClass
。
关键是helper
的继承树和其成员的签名都不依赖于有问题的类,因此,给定Hotspot的惰性解析策略,加载甚至初始化都将成功,因此它只会在尝试执行helper.main
方法时尝试加载和解析YourActualMainClass
。此时,它将抛出一个详细的错误,告诉您实际上丢失了哪个类。
我试图构建一个不和谐的应用程序,但由于某些原因,它无法访问JDA。错误如下: 编辑:这是我的POM:
我在构建我的应用程序时遇到此问题。有人知道怎么回事吗? React Hook useEffect缺少依赖项:“conectar”。包括它或删除依赖项数组react hooks/dep
在我的反应/redux应用程序中,我使用调度来调用每次安装组件时从redux中的状态检索数据的操作。问题正在使用状态发生我的方式不工作 下面是我得到的错误: React Hook useEffect缺少依赖项:“dispatch”。包括它或删除依赖项数组。像“getInvoiceData”这样的外部作用域值不是有效的依赖项,因为对它们进行变异不会重新呈现组件react HOOK/DEP 这是我的密
我想更新商店中的值只有一次在第一次打开时,页面首次使用反应钩子打开。为此,我做了第二个参数的使用效果'[]'空列表。没有什么可以阻止它工作,但是我从ESLint规则中得到了一个警告:React Hook用效果有一个缺失的依赖项:“ChangeCount”。要么包含它,要么删除依赖数组react-追踪器/穷举-deps。如何删除此警告?
我有一个图书馆项目。我想使用Android的新构建系统。目前我遇到了一个相当烦人的情况。 我在上定义了依赖项,但它们从未出现在Android Studio的外部库中。因此,对这些库的所有引用都被标记为错误。 更新 这个问题似乎在最新的Android Studio版本(0.2.5)上得到了修复
我是Springboot和Maven领域的新手,想问一下我在这里做错了什么/为什么它不能这样工作。 我的绒球