我有一种情况需要解压弹簧jar并用我的.class文件替换该包中的文件并将其重新打包为jar。我明白这可以在Maven中完成。所以我创建了一个maven项目,并在其中添加了.java(将在Spring jar中替换)。这是我的项目结构。
这是我的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
答案 0 :(得分:0)
你不必。 Spring是一个开源项目,只需克隆其源代码https://github.com/spring-projects/spring-framework?files=1并使用简单的mvn包命令更新代码并创建一个包