将.class文件从一个.jar复制到另一个保留路径

时间:2020-09-15 08:49:04

标签: python python-3.x jar zip zipfile

在这种情况下,我必须使用7-zip手动将.class文件从一个(旧).jar复制到另一个(新).jar以进行开发/测试部署。由于它是一个共享环境,因此我必须这样做...

这是一个非常低效的过程,我希望使用Python来提供帮助。我有管理所有类路径的逻辑。我只需要知道在保持文件夹结构的同时将文件从一个jar复制到另一个jar的过程即可。

这是一个基本示例,我要复制最近编译的myWork.class

文件夹结构示例

  • C:// myWork / myProject / dist / my-jar.jar / com / project / comp / MyWork.class <-新编译的
  • C:// myWork / toDeployFolder / my-jar.jar / com / project / comp / MyWork.class <-需要更新

类似的东西(伪代码)

inFile = 'C://myWork/myProject/dist/my-jar.jar/com/project/comp/MyWork.class'
pathToJarClassThatNeedUpdated = 'C://myWork/toDeployFolder/my-jar.jar/com/project/comp/MyWork.class'


writeOrCopy(inFile , pathToJarClassThatNeedUpdated )

或这样

pathToNewJar = "C://myWork/myProject/dist/my-jar.jar"
pathToOldJar = "C://myWork/toDeployFolder/my-jar.jar"
subPathToClassFiles = "com/project/comp/MyWork.class"

writeOrCopy(pathToNewJar , subPathToClassFiles, pathToOldJar, subPathToClassFiles)

我已经尝试过使用ZipFile这样的方式:

with zipfile.ZipFile('C://myWork/myProject/dist/my-jar.jar', 'a') as file:
    file.write("myFile.class")

但这似乎只能将文件追加到根目录,而且似乎没有办法保留类结构。

我要做的就是将一个类复制到.jar中任何位置的另一个类中。

0 个答案:

没有答案