当前位置: 首页 > 知识库问答 >
问题:

为什么ProGuard输出的JAR文件中没有类文件?

公西星文
2023-03-14

我正试图使用ProGuard混淆我的JAR文件。

明确地我有一个Java/Spring web应用程序。所以我制作了一个WAR文件。

我已将所有类从WAR文件的/WEB-INF/classes文件夹复制到一个新的JAR文件中。

我启动了ProGuard GUI,并选择了我的JAR文件作为输入。我指定了一个新的输出。JAR文件。我添加了所有的 /WEB-INF/lib/*. jar文件作为"库罐"。

我接受ProGuard GUI中的所有默认值,当我单击“Process!”在最后一页,它经过了处理。。。有一个“库类的重复定义”注释列表(我很确定我可以忽略它?)。

然后生成输出JAR。但是输出JAR中只有三个类文件。。。其中的文件是简单的小测试类,我编写这些类是为了进行简单的代码测试,并且不会以任何方式影响应用程序的其余部分。

输出JAR文件中没有Web应用的类文件。

我错过了什么?

共有1个答案

仲和韵
2023-03-14

ProGuard希望输入类具有与其完全限定类名相对应的文件名,并且没有任何前缀,如“WEB-INF/classes”。你可能会在日志中看到很多关于它的警告。您可以通过将类放入“WEB-INF/lib”中的jar中来解决这个问题。

请参阅ProGuard手册

 类似资料:
  • 我正在尝试制作一个程序,它可以生成时间表,并将一个数据输出到一个名为

  • 我有以下简单的构建。gradle文件: 下面的单个java文件位于: 但是,如果我运行,我会在目录中得到一个jar,它没有主类集。它的清单文件没有条目。为什么会这样?

  • 据说 引导类加载器加载位于/jre/lib目录中的核心Java库。 null sun.misc.launcher$AppClassLoader@73d16e93 sun.misc.launcher$AppClassLoader@73d16e93 这很好。 现在,如果将Student Jar文件放入/jre/lib/ext中,输出为 我在想,在这种情况下,学生类应该从引导类加载器加载,为什么它是由应

  • 我正在编写一个小的Java库,其中包含我通常在大多数android应用程序中包含的相关代码。我决定将库导出为一个jar文件,然后将该文件放到我未来项目的libs文件夹中。 null 现在,当我在我的一个android应用程序中使用这个jar时,除了Doc部分之外,所有的一切都像预期的那样运行。当我悬停在我的库的类和方法上时,我看不到我编写的文档注释。 Q1:我是不是又少了一步? Q2:jar文件应

  • 问题内容: 为了帮助实现这一点,下面的代码在文件夹中查找txt文件,以及如何使其列出不含扩展名的文件名。这是代码: 如您所见,就在这里: 这是将文件列表与myname的值进行比较,因此您可以帮助比较表和myName和list [i](不考虑文件扩展名)的情况,例如程序显示该文件夹具有以下布局: indeks.html hi.html,用户输入了indeks.html,比较不错,但是如何创建一个代码