Java 如何使用maven取消归档、编辑源代码并将其恢复到jar中?

Java 如何使用maven取消归档、编辑源代码并将其恢复到jar中?,java,maven,package,unpack,Java,Maven,Package,Unpack,在这种情况下,我需要解包一个SpringJAR,用我的.class文件替换该包中的一个文件,并将其重新打包为jar。我知道这可以在Maven中完成。因此,我创建了一个maven项目,并在其中添加了.java(在SpringJAR中替换)。这是我的项目结构 这是我的pom.xml <project> <modelVersion>4.0.0</modelVersion> <name>repackage</name>

在这种情况下,我需要解包一个SpringJAR,用我的.class文件替换该包中的一个文件,并将其重新打包为jar。我知道这可以在Maven中完成。因此,我创建了一个maven项目,并在其中添加了.java(在SpringJAR中替换)。这是我的项目结构

这是我的
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>

4.0.0
重新包装
org.springframework
春天
2.4.6    
聚甲醛
org.apache.maven.plugins
maven依赖插件
2.10
打开
包裹
打开
org.springframework
春天
2.5.6.03
罐子
假的
目标

我能够使用
maven依赖插件
解包springjar,并且我知道如何使用
maven jar插件
将它打包回jar。我正在努力理解1)如何将我的.java文件转换为.class文件。由于包装是pom类型的
pom
我无法编译java文件(
JdkVersion.java
)。如果成功创建了类文件2)如何将这个.class文件替换到未打包的spring jar中,因为我需要替换的文件位于
/spring
包的子目录中,您不必这样做。Spring是一个开源项目,只需克隆其源代码并更新代码,然后使用简单的mvn package命令创建一个包即可

感谢您的响应。我没有看到我们正在使用的spring版本,即GitHub repo中的2.5.6版本。Sarfaraz,它仍然没有我们正在使用的spring版本,即spring 2.5.6.SECO3。但我保留这个选择。首先,我想弄清楚使用Maven bcoz是我的团队想要尝试的first@pushya您是否能够编译java类?要替换类文件,可以使用以下命令jar uf jar file input file不,我无法编译java类打包为
类型。最好是创建一个普通的java项目,在其中可以编译JdkVersion文件,并使用maven shade插件过滤/替换/将生成的.class文件添加到最终着色的jar中。。。