2013-10-31 67 views
0

我得到了两个jar文件,我们称它们为domain.jarscanner.jar。在扫描仪罐子我已经使用了思考图书馆,像这样:思考和多个罐子

Reflections reflections = new Reflections(new ConfigurationBuilder().addUrls(ClasspathHelper.forPackage(packageName)).setScanners(new SubTypesScanner(false))); 
Set<Class<?>> subTypesOf = reflections.getSubTypesOf(Object.class); 

在那里,如果我点packageName将包内的scanner.jar一切工作正常,但如果我尝试从domain.jar查找类它总是返回空组。

java -cp domain.jar -jar scanner.jar

任何想法,我做错了运行呢?从反射使用examples它支持多模块项目,所以这应该是可能的。

回答

2

-cp-jar选项是互斥的。您可以使用-jar,并且类路径由jar文件和其所有其他jar文件组成,或者使用-cp并列出必须属于类路径的所有jar。

The documentation约-jar选项说:

当您使用此选项,JAR文件是所有用户类的源,和其他用户类路径设置将被忽略。

所以,尽量用

java -cp domain.jar;scanner.jar your.fully.qualified.MainClass 
+0

这是它,谢谢! – vertti