JarOutputStream을 사용하여 JAR 파일 생성
이 문서에서는 Java의 java.util.jar.JarOutputStream 클래스를 사용하여 프로그래밍 방식으로 JAR 파일을 생성하는 방법을 다룹니다. 생성된 JAR 파일은 처음에는 올바르게 표시될 수 있지만 사용 시 라이브러리를 로드하지 못할 수 있습니다. 그 이유는 문서화되지 않은 JarOutputStream의 특정 단점에 있습니다.
JarOutputStream의 단점:
JarOutputStream을 사용한 올바른 접근 방법:
올바른 방법을 사용하여 매니페스트 파일이 포함된 JAR 파일을 생성하려면 다음 단계를 따르세요.
add() 메서드:
<code class="java">private void add(File source, JarOutputStream target) throws IOException { String name = source.getPath().replace("/", "/"); // Ensure path uses '/' slash if (source.isDirectory()) { if (!name.endsWith("/")) { name += "/"; // Add trailing '/' for directories } JarEntry entry = new JarEntry(name); entry.setTime(source.lastModified()); target.putNextEntry(entry); target.closeEntry(); for (File nestedFile : source.listFiles()) { add(nestedFile, target); } } else { JarEntry entry = new JarEntry(name); entry.setTime(source.lastModified()); target.putNextEntry(entry); try (BufferedInputStream 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(); } } }</code>
이러한 지침을 따르면 JarOutputStream을 사용하여 다른 Java 도구와 호환되는 JAR 파일을 프로그래밍 방식으로 생성할 수 있습니다.
위 내용은 Java에서 JarOutputStream을 사용하여 JAR 파일을 올바르게 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!