1

我在 Eclipse 中有一个动态 Web 项目。构建 java 源代码后,我想使用yGuard. 外部 Jar 文件已放在libTomcat 目录下的文件夹中,并根据该路径配置构建路径。我将该路径作为外部类包含在build.xmlANT 文件中。

在收缩日志中,我收到如下所述的警告。认为这些是警告,我继续前进,并用新的类文件替换旧的类文件。

但是在启动服务器时,Web 项目它不能正常工作。这意味着我无法登录或以任何其他方式使用该项目。

我也尝试过 Proguard,但同样的警告仍然存在。也尝试过,-ignorewarnings但替换原始类文件时仍然存在相同的问题。

build.xml文件:

<project name="project" default="yguard" basedir=".">
    <target depends="jar" name="yguard">
      <taskdef name="yguard" classname="com.yworks.yguard.YGuardTask"
      classpath="libs/yguard.jar"/>
      <yguard>
        <inoutpair in="project.jar" out="project-obf.jar"/>

        <externalclasses>
          <pathelement location="C:/Program Files/Apache Software Foundation/Tomcat 7.0/lib/*.jar"/>
        </externalclasses>

        <shrink logfile="${shrinklog}">
        </shrink>
      </yguard>

    </target>

    <!-- compile -->
    <target name="compile" depends="init">
      <javac srcdir="${srcDir}" includes="com/technomedia/**/*.java"
        destdir="${classDir}">
      </javac>
    </target>

    <!-- create .jar -->
    <target name="jar" depends="compile">
      <jar jarfile="project.jar"
        basedir="build/classes"
        includes="com/technomedia/**">
      </jar>
    </target>
  </project>

shrink.xml我在文件中收到的减弱消息:

<!-- no entrypoints given - using class access public and protected on all inoutpairs. -->
<!-- parsing D:\TMSS\Project\Proguard\src\Proguard\ProGuard.jar -->
<!-- WARNING:Unresolved external dependency: javax.servlet.http.HttpServlet not found! -->
<!-- WARNING:Unresolved external dependency: org.apache.catalina.websocket.MessageInbound not found! -->
<!-- WARNING:Unresolved external dependency: javax.servlet.http.HttpServlet not found! -->
<!-- WARNING:Unresolved external dependency: org.apache.catalina.websocket.WebSocketServlet not found! -->
<!-- WARNING:Unresolved external dependency: javax.servlet.http.HttpServlet not found! -->
<!-- WARNING:Unresolved external dependency: javax.servlet.http.HttpServlet not found! -->

我希望build/classesproject-obf.jar(提取后)替换目录中的类文件后应该可以正常工作。

4

0 回答 0