Mavenの依存関係は、依存するjarまたは指定されたクラスを除外します

通常、それ自体に依存するjarを除外します。jarの一貫性を実現する方法は、次のとおりです。

		<dependency>
			<groupId>ru.yandex.qatools.ashot</groupId>
			<artifactId>ashot</artifactId>
			<version>1.5.2</version>
			<exclusions>
				<exclusion>
				 <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-remote-driver</artifactId> 
				</exclusion>
			</exclusions>
		</dependency>

指定されたクラスをmaven-shade-pluginプラグインの使用から除外します。次のようにelastic-jobの下でいくつかのクラスを除外します。このメソッドは、依存するパッケージアップグレードの互換性をより適切に維持できます。

<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-shade-plugin</artifactId>
					<version>2.3</version>
					<executions>
						<execution>
							<phase>package</phase>
							<goals>
								<goal>shade</goal>
							</goals>
							<configuration>
								<filters>
									<filter>
										<artifact>com.dangdang:elastic-job-lite-core</artifact>
										<!-- <includes> -->
										<!-- <include>junit/framework/**</include> -->
										<!-- <include>org/junit/**</include> -->
										<!-- </includes> -->
										<excludes>
											<exclude>com/dangdang/ddframe/job/lite/api/JobScheduler</exclude>
											<exclude>com/dangdang/ddframe/job/lite/internal/schedule/SchedulerFacade</exclude>
											
											<exclude>com/dangdang/ddframe/job/lite/config/LiteJobConfiguration</exclude>
											<exclude>com/dangdang/ddframe/job/lite/internal/config/LiteJobConfigurationGsonFactory</exclude>
											<!-- <exclude>org/junit/runners/**</exclude> -->
										</excludes>
									</filter>
									
																		<filter>
										<artifact>com.dangdang:elastic-job-lite-lifecycle</artifact>
										<!-- <includes> -->
										<!-- <include>junit/framework/**</include> -->
										<!-- <include>org/junit/**</include> -->
										<!-- </includes> -->
										<excludes>
											<exclude>com/dangdang/ddframe/job/lite/lifecycle/domain/JobSettings</exclude>
											<exclude>com/dangdang/ddframe/job/lite/lifecycle/internal/settings/JobSettingsAPIImpl</exclude>
											<!-- <exclude>org/junit/runners/**</exclude> -->
										</excludes>
									</filter>
									
									<!-- <filter> -->
									<!-- <artifact>*:*</artifact> -->
									<!-- <excludes> -->
									<!-- <exclude>META-INF/*.SF</exclude> -->
									<!-- <exclude>META-INF/*.DSA</exclude> -->
									<!-- <exclude>META-INF/*.RSA</exclude> -->
									<!-- </excludes> -->
									<!-- </filter> -->
								</filters>
							</configuration>
						</execution>
					</executions>
				</plugin>

おすすめ

転載: blog.csdn.net/weixin_40455124/article/details/113487011