如何修改src文件并重新编译,在eclipse中生成一个jar?

时间:2014-05-03 08:16:46

标签: java eclipse jar

我正在修改一个现有的开源项目

它调用proguard,在项目中它有一个src文件夹

http://sourceforge.net/projects/proguard/files/proguard/4.11/proguard4.11.zip/download

我只需要在其中修改一个Class文件,并生成jar文件,是否有任何教程/ apporach在eclipse上执行?

我试图在不使用eclipse的情况下修改类文件(例如文本编辑器), 然后在eclipse中,选择新项目=>使用该文件夹作为目标,然后我尝试将其导出为jar。它没有错误,一个jar文件出来了,但我无法运行它。 jar文件无法正常工作。

所以,有些兄弟会帮助我吗

  1. 下载zip文件

  2. 修改proguard \ classfile中的ClassConstants.java 改变

    public static final String ATTR_StackMapTable                        = "StackMapTable";
    

    public static final String ATTR_StackMapTable                        = "dummy";
    
  3. 重新编译,输出一个jar文件

  4. 这就是全部
  5. 感谢您的帮助。我真的尝试了一整天,感谢您的帮助

    更新

    另外,当我更改代码并生成jar时 输出

    JAR creation failed. See details for additional information.
      classfile [in proguard] is not on its project's build path
      Unable to get package fragment root: proguard/classfile/ClassConstants.java
        classfile [in proguard] is not on its project's build path
    

    为什么?感谢

    来自项目自述文件

    ProGuard, Java class file shrinker, optimizer, obfuscator, and preverifier
    ==========================================================================
    
    This directory contains a number of alternative ways to build ProGuard:
    
    - build.sh      : a shell script for GNU/Linux
    - makefile      : a makefile for GNU/Linux
    - build.xml     : an Ant build file for all platforms
    - maven/pom.xml : a Maven POM for building the Maven artifacts
    
    - As a final alternative, you can also easily compile the code from the
      command line:
    
        mkdir classes
        javac -sourcepath src -d classes src/proguard/ProGuard.java
        javac -sourcepath src -d classes src/proguard/gui/ProGuardGUI.java
        javac -sourcepath src -d classes src/proguard/retrace/ReTrace.java
    
      For the ProGuard Ant task:
    
        javac -sourcepath src -d classes -classpath lib/ant.jar \
            src/proguard/ant/ProGuardTask.java
    
      For the ProGuard Gradle task:
    
        javac -sourcepath src -d classes -classpath ..... \
            src/proguard/gradle/ProGuardTask.java
    
      For the Java Micro Edition Wireless Tool Kit (JME WTK) obfuscator plug-in:
    
        javac -sourcepath src -d classes -classpath wtklib/kenv.zip \
            src/proguard/wtk/ProGuardObfuscator.java
    
    Note that you'll have to install Ant and the JME WTK yourself.
    
    Enjoy!
    
    http://proguard.sourceforge.net/
    
    Copyright (c) 2002-2013 Eric Lafortune (eric@graphics.cornell.edu)
    

    有没有办法从中构建一个jar?谢谢我使用的是Windows 7

1 个答案:

答案 0 :(得分:1)

您应该将项目导出为“Runnable JAR file”。在向导的后续步骤中,将要求您指定启动配置(程序的入口点或使用main方法的类)。