在我的项目中,他们使用了超过225个jar文件导致内存问题,而在网上搜索我知道 Apache Tattletale 将分析并提供重复类和JAR / API的报告应用程序使用(Classpath)。所以我已经审阅了以下链接
1)how to use JBoss Tattletale tool
2)Uncover JBoss client jar list with Tattletale
3)Jboss official Documentation
但我没有得到如何执行和运行 Tattletale Jar文件,我的应用程序不是基于maven所以我没有使用Maven。
我已经下载 tattletale-1.2.0.Beta2.jar 文件以及 jboss-seam-2.3.0.CR1-dist 文件并使用以下命令
java -Xmx512m -jar tattletale.jar /Java/workspaces/mycoolprojects/projectX output-projectx
但获得以下异常
Exception in thread "main" java.lang.NoClassDefFoundError: javassist/NotFoundException
at org.jboss.tattletale.analyzers.Analyzer.getScanner(Analyzer.java:49)
at org.jboss.tattletale.Main.execute(Main.java:608)
at org.jboss.tattletale.Main.main(Main.java:1099)
Caused by: java.lang.ClassNotFoundException: javassist.NotFoundException
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 3 more
更多我没有得到 jboss-seam-2.3.0.CR1-dist 文件的用法。意思是我可以看到很多jar文件和很多代码,但我不知道如何使用 tattletale 。
在他们提到的官方文档中jboss-tattletale.properties
以及如何设置/使用它。
答案 0 :(得分:0)
以下步骤对我有用:
答案 1 :(得分:0)
答案 2 :(得分:0)
我继承了一个配置为使用此插件的旧 Maven 项目,但遇到了相同的 javassist
错误。可以调整插件依赖项,如图所示,使错误停止。
<plugin>
<groupId>org.jboss.tattletale</groupId>
<artifactId>tattletale-maven</artifactId>
<version>1.2.0.Beta2</version>
<executions>
<execution>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
<configuration>
<!-- This is the location which will be scanned for generating tattletale reports -->
<source>${project.build.directory}/${project.artifactId}/WEB-INF/lib</source>
<!-- This is where the reports will be generated -->
<destination>${project.build.directory}/site/tattletale</destination>
</configuration>
<dependencies>
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.27.0-GA</version>
</dependency>
</dependencies>
</plugin>