ProGuard 可以与 JavaEE 6 应用程序一起使用吗?

2024-05-17

我试图让 Proguard 混淆一个简单的 .war 文件。根据文档 Proguard 处理 .war 文件,但是当我尝试时我得到这个:

Warning: class [WEB-INF/classes/com/corp/gr/t2b/T2BChannel.class] unexpectedly contains class [com.corp.gr.t2b.T2BChannel]

文档提到 Proguard 不喜欢 WEB-INF/classes 目录中包含类的 .war 文件。所以我将所有 .class 文件放在 WEB-INF/lib 中它们自己的 .jar 文件中。

然后 Proguard 抱怨它找不到任何 JavaEE 6 类,即使我已经给它 javaee.jar 文件

-libraryjars C:/bin/glassfish-3.0.1/.../lib/javaee.jar

因此,我解析出 javaee.jar 文件 MANIFEST.MF 中的所有条目,并为每个条目添加多个

-libraryjars C:/bin/glassfish-3.0.1/.../modules/javax.servlet.jar

声明。

Proguard 表明它正在读取各种库 jar,然后滚动数千条“库类的重复定义”消息和一些其他消息。 (消息不会被记录,因此它们只是滚动离开屏幕。)在所有这些消息的末尾,它以

Note: there were 965 duplicate class definitions.
Warning: there were 816 classes in incorrectly named files.

还有数百个(或数千个 - 我无法分辨,因为这些无法重定向到文件)以下形式的警告

 Warning: class [1.0/org/apache/xml/resolver/tools/ResolvingXMLReader.class] unex
pectedly contains class [org.apache.xml.resolver.tools.ResolvingXMLReader]

所以 Proguard 似乎无法处理 JavaEE 6 库。

有人让 Proguard 来使用 JavaEE 6 应用程序吗?您需要做什么才能使其与 JavaEE 6 库一起工作?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ProGuard 可以与 JavaEE 6 应用程序一起使用吗? 的相关文章

  • javax.naming.NameNotFoundException

    我正在 JBoss 5 容器中运行 ejb 示例 我正在使用一个例子从这里开始 第一部分 http www roseindia net jboss jboss 3 2 shtml 在示例中 我在 JBoss 中部署了 bean 并在 Tom
  • java.lang.ClassNotFoundException:javax.mail.MessagingException

    我想使用 eclipse 将电子邮件从我的 gmail 帐户发送到另一个邮件帐户 我使用 apache tomcat 7 0 34 作为我的 Web 服务器 并使用端口 8080 作为 apache 服务器 HTTP 1 1 并使用 JRE
  • 如何作为应用程序发布到页面?

    所以 我有一个应用程序 Facebook 应用程序实体 并且我有一个页面 我想使用应用程序通过java代码 通过restfb或任何其他建议 发布到页面 看起来我错过了页面授予应用程序发布权限的阶段 不知道该怎么做 谢谢你们 乌里 您只能 作
  • 用于层次结构树角色的 Spring Security / Java EE 解决方案

    我知道 Spring Security 非常适合标准角色和基于权限的授权 我不确定的是这种情况 系统中管理着 10 000 名员工 员工被组织成组织结构图 跨部门的谁向谁报告的树 其中一些员工是用户 这些用户仅被允许访问其职责范围内的员工
  • 在 Wildfly 中与 war 部署共享 util jar 文件

    假设我有一个名为 util jar 的 jar 文件 该 jar 文件主要包含 JPA 实体和一些 util 类 无 EJB 如何使这个 jar 可用于 Wildfly 中部署的所有 war 无需将 jar 放置在 war 的 WEB IN
  • java异常处理策略[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • javax.inject.Named 注释的用途是什么?

    我正在尝试理解javax inject包 我不清楚是什么javax inject Named注释应该用于 Javadoc 没有解释其背后的想法 Javadoc 位于http download oracle com javaee 6 api
  • 开始 Java EE

    我对 Java 了解一些 但对 Enterprise Java 完全陌生 我正在尝试使用 NetBeans 6 1 和 GlassFish 应用服务器 请指导我一些资源 这些资源实际上告诉我什么是 java 企业应用程序 它们与普通 jav
  • Proguard Android 使用 Action Bar Sherlock

    EDIT 4 我试过取出 Action Bar Sherlock 和 Proguard 效果很好 所以我猜这是 android support v4 jar 的问题 我在包含 ABS 库时尝试过此操作 但它不起作用 keep class a
  • Java EE 6 CDI 事件是事务性的吗?

    Java EE 6 CDI 事件是事务性的吗 如果我在事务中触发事件 然后回滚该事务 事件侦听器的效果是否也会回滚 此行为是否依赖于事件侦听器本身支持事务 如果我尝试从事件侦听器内回滚异常 它会回滚触发该事件的事务吗 来自事件章节 http
  • 您建议使用哪种压缩(GZIP 是最流行的)servlet 过滤器?

    我正在寻找一个用于大容量网络应用程序的 GZIP servlet 过滤器 我不想使用容器特定的选项 要求 能够压缩响应负载 XML Faster 已在大批量应用的生产中得到验证 应适当设置适当内容编码 跨容器移植 可选择解压缩请求 谢谢 我
  • 我可以限制分布式应用程序发出的请求吗?

    我的应用程序发出 Web 服务请求 提供商处理的请求有最大速率 因此我需要限制它们 当应用程序在单个服务器上运行时 我曾经在应用程序级别执行此操作 一个对象跟踪到目前为止已发出的请求数量 并在当前请求超出允许的最大负载时等待 现在 我们正在
  • Java EE 企业应用程序:在部署/启动时执行一些操作[重复]

    这个问题在这里已经有答案了 我想在部署我的应用程序 具有业务逻辑 EJB 和客户端 Web 的企业应用程序 后立即执行某些操作 例如 我想让某个实体处于持久状态 或者以其他方式创建一个文件 我怎样才能做到这一点 Thanks 配置Serlv
  • 使用消息存储拦截器进行 Struts 2 验证

    我有一个尝试让用户登录的操作 public class RegisteredUserAction extends ActionSupport implements SessionAware public String login throw
  • 在EJB3中如何使用JNDI获取新的Stateful Session Bean?

    我正在尝试使用 JNDI 在 servlet 中获取新的有状态会话 Bean 作为局部变量 我的doGet 方法有以下几种 Bean bean Bean new InitialContext lookup beanName 我尝试过包括ja
  • proguard 导致 Google Play 服务的 ActivityRecognitionResult getMostProbableActivity 崩溃

    我最近向 Play 商店发布了一个应用程序 虽然它在没有 proguard 的情况下运行得很好 但当我决定使用它时 我遇到了意外的崩溃 我看过here http developer android com google play servi
  • JSTL 1.2 标签参考文档的链接 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 在 JavaEE 6 中 JSTL 版本是 1 2 我正在尝试找到此版本的 taglib 文档的链接 我
  • 如何使用 JSESSIONID 手动加载 Java 会话?

    我有一个处理多部分表单帖子的 servlet 该帖子实际上是由嵌入在页面中的 Flash 文件上传组件制作的 在某些浏览器中 Flash 生成的 POST 不包含 JSESSIONID 这使得我无法在发布期间从会话加载某些信息 Flash
  • 如何在 servlet 线程中获取新的有状态会话 bean?

    我正在尝试 EJB3 我想将一个有状态会话 bean 注入到 servlet 中 以便每个访问该 servlet 的用户都会获得一个新的 bean 显然 我不能让 bean 成为 servlet 的实例变量 因为它将被共享 显然不允许注入局
  • JPA Web 应用程序管理策略

    我们目前正在开发一个 J2EE Web 应用程序 使用 JPA 作为我们的数据访问层 我们目前正在研究几种不同的策略来在我们的应用程序中利用缓存 Create an EntityManager per request 在请求范围内获取缓存

随机推荐