如何在对MANIFEST.MF进行一些更改后正确地upzip .jar并重新组合它

时间:2018-05-14 08:23:13

标签: maven jar

我使用7zip解压缩一个jar文件,这里是原始内容 /META-INF/MANIFEST.MF

Form1

我想要做的是添加一个附加的Class-Path,我改变之后的最终内容是:

type
  TForm1 = class(TForm)
  private
    procedure WindowPosChanging(var Msg : TMessage); message WM_WINDOWPOSCHANGING;
  public
  end;

implementation

{$R *.dfm}

uses Unit2;

procedure TForm1.WindowPosChanging(var Msg: TMessage);
begin
  if Assigned(Form2) then
  begin
    Form2.Left := ClientOrigin.X + 20;
    Form2.Top := ClientOrigin.Y + 10;
  end;
end;

你可以看到我只添加了lib / sqljdbc4-4.0.jar

现在我转到窗口命令行并输入:

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Built-By: liuyang
Class-Path: . lib/commons-logging-1.1.1.jar lib/sqljdbc4-4.0.jar
Created-By: Apache Maven 3.3.9
Build-Jdk: 1.8.0_171
Main-Class: org.tinyradius.test.TestServer

我的文件夹如下所示:

enter image description here

在此命令完成后,它会出现一个名为tinyradius-0.9.9.jar的新jar文件 但在我解压缩这个新的jar文件后,我发现新的MANIFEST.MF有这样的内容:

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Built-By: liuyang
Class-Path: . lib/commons-logging-1.1.1.jar lib/log4j-1.2.17.jar lib/sqljdbc4-4.0.jar
Created-By: Apache Maven 3.3.9
Build-Jdk: 1.8.0_171
Main-Class: org.tinyradius.test.TestServer

为什么它与我更新的内容如此不同?

1 个答案:

答案 0 :(得分:0)

在桌面上创建一个临时文件夹。将jar放入该文件夹。将jar tinyradius-0.9.9.jar重命名为tinyradius-0.9.9.zip并解压缩。对清单进行更改。选择所有文件并压缩它们。将拉链重命名为jar。