程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何使用JarOutputStream创建JAR文件?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何使用JarOutputStream创建JAR文件??

开发过程中遇到如何使用JarOutputStream创建JAR文件?的问题如何解决?下面主要结合日常开发的经验,给出你关于如何使用JarOutputStream创建JAR文件?的解决方法建议,希望对你解决如何使用JarOutputStream创建JAR文件?有所启发或帮助;

事实证明,这JarOutputStream有三个未记录的怪癖:

  1. 目录名称必须以“ /”斜杠结尾。
  2. 路径必须使用“ /”斜杠,而不是“ \”
  3. 条目不能以“ /”斜杠开头。

这是创建Jar文件的正确方法:

public voID run() throws IOException
{
  Manifest manifest = new Manifest();
  manifest.getMainAttributes().put(Attributes.name.MANIFEST_VERSION, "1.0");
  JarOutputStream target = new JarOutputStream(new fiLeoutputStream("output.jar"), manifest);
  add(new file("inputDirectory"), target);
  target.close();
}

private voID add(file source, JarOutputStream target) throws IOException
{
  BufferedinputStream in = null;
  try
  {
    if (source.isDirectory())
    {
      String name = source.getPath().replace("\\", "/");
      if (!name.isEmpty())
      {
        if (!name.endsWith("/"))
          name += "/";
        JarEntry entry = new JarEntry(Name);
        entry.setTime(source.lastModifIEd());
        target.putNextEntry(entry);
        target.closeEntry();
      }
      for (file nestedfile: source.Listfiles())
        add(nestedfile, target);
      return;
    }

    JarEntry entry = new JarEntry(source.getPath().replace("\\", "/"));
    entry.setTime(source.lastModifIEd());
    target.putNextEntry(entry);
    in = new BufferedinputStream(new fileinputStream(sourcE));

    byte[] buffer = new byte[1024];
    while (true)
    {
      int count = in.read(buffer);
      if (count == -1)
        break;
      target.write(buffer, 0, count);
    }
    target.closeEntry();
  }
  finally
  {
    if (in != null)
      in.close();
  }
}

解决方法

如何使用程序以编程方式创建JAR文件java.util.jar.JarOutputStream?我的程序生成的JAR文件看起来正确(提取得很好),但是当我尝试从中加载库时,Java抱怨说它找不到明显存储在其中的文件。如果我提取JAR文件并使用Sun的jar命令行工具对其进行重新压缩,则生成的库可以正常工作。简而言之,我的JAR文件有问题。

请说明如何以编程方式创建清单文件以及完整的JAR文件。

大佬总结

以上是大佬教程为你收集整理的如何使用JarOutputStream创建JAR文件?全部内容,希望文章能够帮你解决如何使用JarOutputStream创建JAR文件?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: