Class 未找到定义:org/glassfish/hk2/ComponentException
Class def not found: org/glassfish/hk2/ComponentException
我需要为 Jersey 应用程序编写 junit 测试。现在我想测试依赖注入,问题是我这样创建了 class:
@RunWith(Hk2Runner.class)
public class BinderTest {
@Inject
private SomeClass someClass;
@Test
public void passingTest() {
someClass.getSomething("asd", "asd", "asd");
Assert.assertTrue(true);
}
}
当运行时,输出为:
java.lang.NoClassDefFoundError: org/glassfish/hk2/ComponentException
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access0(URLClassLoader.java:73)
at java.net.URLClassLoader.run(URLClassLoader.java:368)
我试图找到具有 class 的依赖项以添加到 pom.xml 文件,但什么也没找到。
你们知道哪个 Maven 依赖项包含提到的 ComponentException class?
为了拥有 Hk2Runner 添加了依赖项 class:
<dependency>
<groupId>org.glassfish.hk2</groupId>
<artifactId>auto-depends</artifactId>
<version>2.0.5</version>
</dependency>
由于您使用的是旧的 auto-depends
依赖项,因此您还应该添加 hk2-deprecated
依赖项:
<dependency>
<groupId>org.glassfish.hk2</groupId>
<artifactId>hk2-deprecated</artifactId>
<version>2.0.5</version>
<scope>test</scope>
</dependency>
另一种解决方案是用新的 hk2-testing
替换 auto-depends
依赖项并从 org.jvnet.hk2.testing.junit.HK2Runner
class.
扩展
<dependency>
<groupId>org.glassfish.hk2</groupId>
<artifactId>hk2-testing</artifactId>
<version>2.3.0</version>
<scope>test</scope>
</dependency>
public class BinderTest extends HK2Runner { }
我需要为 Jersey 应用程序编写 junit 测试。现在我想测试依赖注入,问题是我这样创建了 class:
@RunWith(Hk2Runner.class)
public class BinderTest {
@Inject
private SomeClass someClass;
@Test
public void passingTest() {
someClass.getSomething("asd", "asd", "asd");
Assert.assertTrue(true);
}
}
当运行时,输出为:
java.lang.NoClassDefFoundError: org/glassfish/hk2/ComponentException
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access0(URLClassLoader.java:73)
at java.net.URLClassLoader.run(URLClassLoader.java:368)
我试图找到具有 class 的依赖项以添加到 pom.xml 文件,但什么也没找到。 你们知道哪个 Maven 依赖项包含提到的 ComponentException class?
为了拥有 Hk2Runner 添加了依赖项 class:
<dependency>
<groupId>org.glassfish.hk2</groupId>
<artifactId>auto-depends</artifactId>
<version>2.0.5</version>
</dependency>
由于您使用的是旧的 auto-depends
依赖项,因此您还应该添加 hk2-deprecated
依赖项:
<dependency>
<groupId>org.glassfish.hk2</groupId>
<artifactId>hk2-deprecated</artifactId>
<version>2.0.5</version>
<scope>test</scope>
</dependency>
另一种解决方案是用新的 hk2-testing
替换 auto-depends
依赖项并从 org.jvnet.hk2.testing.junit.HK2Runner
class.
<dependency>
<groupId>org.glassfish.hk2</groupId>
<artifactId>hk2-testing</artifactId>
<version>2.3.0</version>
<scope>test</scope>
</dependency>
public class BinderTest extends HK2Runner { }