私は次のコードを持っています。これは、私が指摘したTestSuiteSampleであるクラスのロードで機能します。TestSuiteSampleは、注釈付きの標準のJUnit4TestSuiteです。通常のJavaプロジェクトとして実行すると、「true」と出力されますが、eclipse rcpで実行すると、「false」と出力されます。なぜ何かアイデアはありますか?
File testSuiteDir = new File("D:/TestDir/");
URL classUrl;
classUrl = testSuiteDir.toURI().toURL();
URL[] classUrls = { classUrl };
URLClassLoader ucl = new URLClassLoader(classUrls);
Class<?> cls = ucl.loadClass("TestSuiteSample");
if (cls.isAnnotationPresent(SuiteClasses.class)) {
System.out.println("true");
} else {
System.out.println("false");
}
clsの注釈をチェックするためにこれを試しましたが、それでも0の注釈を返します。
Annotation[] annotations = new TestClass(clazz).getAnnotations();
for (Annotation annotation : annotations) {
System.out.println(annotation.annotationType().getName());
}