从大型Java项目中提取模块

时间:2013-11-18 07:34:16

标签: java maven weka

最近,我正在使用weka(一个开源数据挖掘软件)做一些分类工作。我发现随机森林算法非常适合我的对象,并且实现了高度的准确性。所以我想提取Random Forest模块并忽略其他不相关的模块。找到RandomForst.java引用的所有java类是很繁琐的。所以我想编写一个程序来自动提取RandomForst.java及其相关类。 首先,我使用java类的“import”信息来查找类依赖项,但它无法找到同一个包的依赖项。 我不确定Maven是否可以帮助我找到依赖。 你有什么想法吗?谢谢。

2 个答案:

答案 0 :(得分:1)

您可以使用Maven Shade插件创建一个超级JAR,并要求它最小化JAR。这会生成一个仅包含您使用的类的JAR。

答案 1 :(得分:0)

出于这样的目的,我使用了Maven Shade插件和Proguard插件的组合。第一个将库合并到一个Uber-jar中。第二个可用于切断项目中未使用的所有类:Using Proguard to Shrink the Jar。 Proguard是一个混淆器,它几乎可以切割任何东西 - 即未使用的接口或方法,因此需要准确的。