如何解开,编辑源代码并使用maven将其回收?

时间:2015-06-19 16:23:32

标签: java maven package unpack

我有一种情况需要解压弹簧jar并用我的.class文件替换该包中的文件并将其重新打包为jar。我明白这可以在Maven中完成。所以我创建了一个maven项目,并在其中添加了.java(将在Spring jar中替换)。这是我的项目结构。

enter image description here

这是我的pom.xml

    <project>
    <modelVersion>4.0.0</modelVersion>

    <name>repackage</name>
    <groupId>org.springframework</groupId>
    <artifactId>spring</artifactId>
    <version>2.4.6</version>    
    <packaging>pom</packaging>

  <build>
    <plugins>
    <!-- Unpacking -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>2.10</version>
        <executions>
          <execution>
            <id>unpack</id>
            <phase>package</phase>
            <goals>
              <goal>unpack</goal>
            </goals>
            <configuration>
              <artifactItems>
                <artifactItem>
                  <groupId>org.springframework</groupId>
                  <artifactId>spring</artifactId>
                  <version>2.5.6.SEC03</version>
                  <type>jar</type>
                  <overWrite>false</overWrite>
                  <outputDirectory>target</outputDirectory>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <!-- Packing -->
<!--      <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.4</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>jar</goal>
                    </goals>
                    <configuration>
                    <classesDirectory>target</classesDirectory>
                        <classifier>sample</classifier>
                    </configuration>
                </execution>
            </executions>
        </plugin>-->
    </plugins>
  </build>
</project>

我可以使用maven dependency plugin解压弹簧罐,我想出了如何使用maven-jar-plugin将其打包回罐子。我正在努力理解的部分1)如何将我的.java文件转换为.class文件。由于打包是pom类型<packaging>pom</packaging>,我无法编译java文件(JdkVersion.java)。如果成功创建类文件2)如何将此.class文件替换为解压缩的spring jar,因为我需要替换的文件位于/spring package

的子目录中

1 个答案:

答案 0 :(得分:0)

你不必。 Spring是一个开源项目,只需克隆其源代码https://github.com/spring-projects/spring-framework?files=1并使用简单的mvn包命令更新代码并创建一个包