Tôi đang cố gắng tạo tệp jar có tất cả các lớp cần thiết được trích xuất trong bình. Nhưng đối với vài lọ phụ thuộc như log4j, nó tạo ra một số thư mục bên trong META-INF/maven/*
. Tôi có một giới hạn rằng máy chủ mà tôi sẽ đặt tệp jar được tạo sẽ không có kết nối Internet. Vì vậy, nếu có bất kỳ nội dung nào trong thư mục META-INF/maven/*
này thì nó sẽ cho tôi một lỗi.Loại trừ thư mục META-INF/maven khỏi tệp jar đã tạo
mô tả maven của tôi trông giống như sau
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<addMavenDescriptor>false</addMavenDescriptor>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
<configuration>
<minimizeJar>true</minimizeJar>
<finalName>myclient</finalName>
</configuration>
</plugin>
</plugins>
</build>
tôi có thể trích xuất các tập tin lớp học yêu cầu trong jar tạo nhưng thư mục maven vẫn bị tạo ra dưới META-INF
. Tôi phải tự xóa thư mục để làm mọi thứ hoạt động. Vui lòng tư vấn về cách tự động loại bỏ thư mục maven này khỏi tệp jar đã tạo.
Tuyệt vời yêu bạn đời :) –