相关疑难解决方法(0)

减少jar文件大小?

是否有一个很好的应用程序通过消除冗余类/方法/常量池元素来减少jar文件大小?(即假设没有反射,无法从一组固定的入口点到达)

当我只是使用他们的几种方法时,我已经厌倦了拉臃肿的库.

(我不是在谈论小的"本地"优化,比如缩小名称.我正在考虑更多的东西进行全局分析,以确定使用哪些类/方法/变量,给定一组入口点(包括反射条目)点),并删除未使用的所有内容.

我的webapp就像是45MB,主要是由于30多个库,而且我很确定我只使用了每个库的一小部分.

java compression jar

11
推荐指数
2
解决办法
1万
查看次数

在使用proguard进行模糊处理后,使用google guice注入不再起作用

有没有人试图将谷歌guice的使用与混淆(特别是proguard)结合起来?我的代码的混淆版本不适用于google guice,因为guice抱怨缺少类型参数.这些信息似乎被proguard所做的转换步骤所删除,即使相关类被排除在混淆之外.

堆栈跟踪如下所示:

com.google.inject.CreationException: Guice creation errors:

1) Cannot inject a Provider that has no type parameter
  while locating com.google.inject.Provider
    for parameter 0 at de.repower.lvs.client.admin.user.administration.AdminUserCommonPanel.setPasswordPanelProvider(SourceFile:499)
  at de.repower.lvs.client.admin.user.administration.AdminUserCommonPanel.setPasswordPanelProvider(SourceFile:499)
  while locating de.repower.lvs.client.admin.user.administration.AdminUserCommonPanel
    for parameter 0 at de.repower.lvs.client.admin.user.administration.b.k.setParentPanel(SourceFile:65)
  at de.repower.lvs.client.admin.user.administration.b.k.setParentPanel(SourceFile:65)
  at de.repower.lvs.client.admin.user.administration.o.a(SourceFile:38)

2) Cannot inject a Provider that has no type parameter
  while locating com.google.inject.Provider
    for parameter 0 at de.repower.lvs.client.admin.user.administration.AdminUserCommonPanel.setWindTurbineAccessGroupProvider(SourceFile:509)
  at de.repower.lvs.client.admin.user.administration.AdminUserCommonPanel.setWindTurbineAccessGroupProvider(SourceFile:509)
  while locating de.repower.lvs.client.admin.user.administration.AdminUserCommonPanel
    for parameter 0 at de.repower.lvs.client.admin.user.administration.b.k.setParentPanel(SourceFile:65)
  at de.repower.lvs.client.admin.user.administration.b.k.setParentPanel(SourceFile:65)
  at de.repower.lvs.client.admin.user.administration.o.a(SourceFile:38)

2 errors
    at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:354)
    at com.google.inject.InjectorBuilder.initializeStatically(InjectorBuilder.java:152)
    at com.google.inject.InjectorBuilder.build(InjectorBuilder.java:105)
    at …
Run Code Online (Sandbox Code Playgroud)

obfuscation proguard guice

7
推荐指数
2
解决办法
6034
查看次数

如何确定Java程序使用哪些类?

是否有任何工具可以列出哪些应用程序有效地使用哪些类,或者甚至更好地自动修剪JAR库以仅提供引用和使用的类?

java optimization dependencies jar

5
推荐指数
1
解决办法
1238
查看次数