Replacing JARs on the Build Path

本文介绍了一种在Eclipse 3.2中简化第三方库JAR文件升级的方法,通过使用Migrate JAR File功能,开发者可以轻松地用新版本的JAR替换旧版本,无需手动删除和添加JAR文件。

Replacing JARs on the Build Path  -- Eclipse 技巧

from:R.J. Lorimer 

在维护项目的一个普通的任务就是升级库文件,例如, 你在使用 commons-collections 在你的项目中,现在使用的是3.1,但是现在 3.2 发布了, 你想使用它. 所以你需要使用新的jar来替换旧的jar库文件.在eclipse3.2发布以前你需要做下面的几步来完成它.:

  1. Copy 新的jar文件到你的项目lib目录中
  2. 通过 操作[right-click project]->Properties...->Java Build Path->Libraries (tab)来删除类路径中的旧jar文件
  3. 添加新的jar文件到上面的路径中 
  4. 如果需要的话还要 重新命名类文件 or 更新文件引用

这样做是很郁闷的. 尤其是你使用一个使用很多第三方jar文件的工具时(如 hibernate,spring) 当你升级这些项目时,你要做很多上面的改动. 是不是很无趣呢.?

来看看Eclipse 3.2 给我们带来了什么吧.有一个新的特性叫 'Migrate JAR File',用来升级jar文件.要使用该功能,在要替换的jar文件上右击,进入 Build Path 子菜单选择 'Migrate JAR file':

1.jpg

你会看到下面的对话框:

2.jpg

如果你不走运也要根改jar文件名的话(保持原来的名字不变)你可以选中那个复选框..

然后点击finish, 你将看到你的jar文件已经升级了.

3.jpg

尽情享受吧!

D:\BigData\Idea\JDK\bin\java.exe -Dmaven.multiModuleProjectDirectory=D:\BigData\Idea\Idea创建的文件\FlinkTutorial -Djansi.passthrough=true "-Dmaven.home=D:\BigData\Idea\idea软件信息\IntelliJ IDEA 2024.2.1\plugins\maven\lib\maven3" "-Dclassworlds.conf=D:\BigData\Idea\idea软件信息\IntelliJ IDEA 2024.2.1\plugins\maven\lib\maven3\bin\m2.conf" "-Dmaven.ext.class.path=D:\BigData\Idea\idea软件信息\IntelliJ IDEA 2024.2.1\plugins\maven\lib\maven-event-listener.jar" "-javaagent:D:\BigData\Idea\idea软件信息\IntelliJ IDEA 2024.2.1\lib\idea_rt.jar=54389:D:\BigData\Idea\idea软件信息\IntelliJ IDEA 2024.2.1\bin" -Dfile.encoding=UTF-8 -classpath "D:\BigData\Idea\idea软件信息\IntelliJ IDEA 2024.2.1\plugins\maven\lib\maven3\boot\plexus-classworlds-2.8.0.jar;D:\BigData\Idea\idea软件信息\IntelliJ IDEA 2024.2.1\plugins\maven\lib\maven3\boot\plexus-classworlds.license" org.codehaus.classworlds.Launcher -Didea.version=2024.2.1 package [INFO] Scanning for projects... [INFO] [INFO] ---------------------< org.example:FlinkTutorial >---------------------- [INFO] Building FlinkTutorial 1.0-SNAPSHOT [INFO] from pom.xml [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- resources:3.3.1:resources (default-resources) @ FlinkTutorial --- [INFO] skip non existing resourceDirectory D:\BigData\Idea\Idea创建的文件\FlinkTutorial\src\main\resources [INFO] [INFO] --- compiler:3.13.0:compile (default-compile) @ FlinkTutorial --- [INFO] Nothing to compile - all classes are up to date. [INFO] [INFO] --- resources:3.3.1:testResources (default-testResources) @ FlinkTutorial --- [INFO] skip non existing resourceDirectory D:\BigData\Idea\Idea创建的文件\FlinkTutorial\src\test\resources [INFO] [INFO] --- compiler:3.13.0:testCompile (default-testCompile) @ FlinkTutorial --- [INFO] No sources to compile [INFO] [INFO] --- surefire:3.2.5:test (default-test) @ FlinkTutorial --- [INFO] No tests to run. [INFO] [INFO] --- jar:3.4.1:jar (default-jar) @ FlinkTutorial --- [WARNING] JAR will be empty - no content was marked for inclusion! [INFO] Building jar: D:\BigData\Idea\Idea创建的文件\FlinkTutorial\target\FlinkTutorial-1.0-SNAPSHOT.jar [INFO] [INFO] --- shade:3.2.4:shade (default) @ FlinkTutorial --- [INFO] Including org.apache.flink:flink-streaming-java:jar:1.17.0 in the shaded jar. [INFO] Including org.apache.flink:flink-core:jar:1.17.0 in the shaded jar. [INFO] Including org.apache.flink:flink-annotations:jar:1.17.0 in the shaded jar. [INFO] Including org.apache.flink:flink-metrics-core:jar:1.17.0 in the shaded jar. [INFO] Including org.apache.flink:flink-shaded-asm-9:jar:9.3-16.1 in the shaded jar. [INFO] Including org.apache.flink:flink-shaded-jackson:jar:2.13.4-16.1 in the shaded jar. [INFO] Including org.apache.commons:commons-lang3:jar:3.12.0 in the shaded jar. [INFO] Including org.apache.commons:commons-text:jar:1.10.0 in the shaded jar. [INFO] Including com.esotericsoftware.kryo:kryo:jar:2.24.0 in the shaded jar. [INFO] Including com.esotericsoftware.minlog:minlog:jar:1.2 in the shaded jar. [INFO] Including org.objenesis:objenesis:jar:2.1 in the shaded jar. [INFO] Including commons-collections:commons-collections:jar:3.2.2 in the shaded jar. [INFO] Including org.apache.commons:commons-compress:jar:1.21 in the shaded jar. [INFO] Including org.apache.flink:flink-file-sink-common:jar:1.17.0 in the shaded jar. [INFO] Including org.apache.flink:flink-runtime:jar:1.17.0 in the shaded jar. [INFO] Including org.apache.flink:flink-rpc-core:jar:1.17.0 in the shaded jar. [INFO] Including org.apache.flink:flink-rpc-akka-loader:jar:1.17.0 in the shaded jar. [INFO] Including org.apache.flink:flink-queryable-state-client-java:jar:1.17.0 in the shaded jar. [INFO] Including org.apache.flink:flink-hadoop-fs:jar:1.17.0 in the shaded jar. [INFO] Including commons-io:commons-io:jar:2.11.0 in the shaded jar. [INFO] Including org.apache.flink:flink-shaded-netty:jar:4.1.82.Final-16.1 in the shaded jar. [INFO] Including org.apache.flink:flink-shaded-zookeeper-3:jar:3.7.1-16.1 in the shaded jar. [INFO] Including org.javassist:javassist:jar:3.24.0-GA in the shaded jar. [INFO] Including org.xerial.snappy:snappy-java:jar:1.1.8.3 in the shaded jar. [INFO] Including org.lz4:lz4-java:jar:1.8.0 in the shaded jar. [INFO] Including org.apache.flink:flink-shaded-force-shading:jar:16.1 in the shaded jar. [INFO] Including org.apache.flink:flink-java:jar:1.17.0 in the shaded jar. [INFO] Including com.twitter:chill-java:jar:0.7.6 in the shaded jar. [INFO] Including org.apache.flink:flink-shaded-guava:jar:30.1.1-jre-16.1 in the shaded jar. [INFO] Including org.apache.commons:commons-math3:jar:3.6.1 in the shaded jar. [INFO] Including org.apache.logging.log4j:log4j-slf4j-impl:jar:2.20.0 in the shaded jar. [INFO] Including org.apache.logging.log4j:log4j-api:jar:2.20.0 in the shaded jar. [INFO] Including org.apache.logging.log4j:log4j-core:jar:2.20.0 in the shaded jar. [INFO] Including org.apache.flink:flink-clients:jar:1.17.0 in the shaded jar. [INFO] Including org.apache.flink:flink-optimizer:jar:1.17.0 in the shaded jar. [INFO] Including commons-cli:commons-cli:jar:1.5.0 in the shaded jar. [INFO] Including ch.qos.logback:logback-classic:jar:1.2.11 in the shaded jar. [INFO] Including ch.qos.logback:logback-core:jar:1.2.11 in the shaded jar. [INFO] Excluding org.slf4j:slf4j-api:jar:1.7.36 from the shaded jar. [INFO] Excluding com.google.code.findbugs:jsr305:jar:1.3.9 from the shaded jar. [WARNING] FlinkTutorial-1.0-SNAPSHOT.jar, chill-java-0.7.6.jar, commons-cli-1.5.0.jar, commons-collections-3.2.2.jar, commons-compress-1.21.jar, commons-io-2.11.0.jar, commons-lang3-3.12.0.jar, commons-math3-3.6.1.jar, commons-text-1.10.0.jar, flink-annotations-1.17.0.jar, flink-clients-1.17.0.jar, flink-core-1.17.0.jar, flink-file-sink-common-1.17.0.jar, flink-hadoop-fs-1.17.0.jar, flink-java-1.17.0.jar, flink-metrics-core-1.17.0.jar, flink-optimizer-1.17.0.jar, flink-queryable-state-client-java-1.17.0.jar, flink-rpc-akka-loader-1.17.0.jar, flink-rpc-core-1.17.0.jar, flink-runtime-1.17.0.jar, flink-shaded-asm-9-9.3-16.1.jar, flink-shaded-force-shading-16.1.jar, flink-shaded-guava-30.1.1-jre-16.1.jar, flink-shaded-jackson-2.13.4-16.1.jar, flink-shaded-netty-4.1.82.Final-16.1.jar, flink-shaded-zookeeper-3-3.7.1-16.1.jar, flink-streaming-java-1.17.0.jar, javassist-3.24.0-GA.jar, kryo-2.24.0.jar, log4j-api-2.20.0.jar, log4j-core-2.20.0.jar, log4j-slf4j-impl-2.20.0.jar, logback-classic-1.2.11.jar, logback-core-1.2.11.jar, lz4-java-1.8.0.jar, minlog-1.2.jar, objenesis-2.1.jar, snappy-java-1.1.8.3.jar define 1 overlapping resource: [WARNING] - META-INF/MANIFEST.MF [WARNING] flink-annotations-1.17.0.jar, flink-clients-1.17.0.jar, flink-core-1.17.0.jar, flink-file-sink-common-1.17.0.jar, flink-hadoop-fs-1.17.0.jar, flink-java-1.17.0.jar, flink-metrics-core-1.17.0.jar, flink-optimizer-1.17.0.jar, flink-queryable-state-client-java-1.17.0.jar, flink-rpc-akka-loader-1.17.0.jar, flink-rpc-core-1.17.0.jar, flink-runtime-1.17.0.jar, flink-shaded-asm-9-9.3-16.1.jar, flink-shaded-force-shading-16.1.jar, flink-shaded-guava-30.1.1-jre-16.1.jar, flink-shaded-jackson-2.13.4-16.1.jar, flink-shaded-netty-4.1.82.Final-16.1.jar, flink-shaded-zookeeper-3-3.7.1-16.1.jar, flink-streaming-java-1.17.0.jar, log4j-api-2.20.0.jar, log4j-core-2.20.0.jar, log4j-slf4j-impl-2.20.0.jar, objenesis-2.1.jar define 2 overlapping resources: [WARNING] - META-INF/LICENSE [WARNING] - META-INF/NOTICE [WARNING] flink-annotations-1.17.0.jar, flink-clients-1.17.0.jar, flink-core-1.17.0.jar, flink-file-sink-common-1.17.0.jar, flink-hadoop-fs-1.17.0.jar, flink-java-1.17.0.jar, flink-metrics-core-1.17.0.jar, flink-optimizer-1.17.0.jar, flink-queryable-state-client-java-1.17.0.jar, flink-rpc-akka-loader-1.17.0.jar, flink-rpc-core-1.17.0.jar, flink-runtime-1.17.0.jar, flink-shaded-asm-9-9.3-16.1.jar, flink-shaded-force-shading-16.1.jar, flink-shaded-guava-30.1.1-jre-16.1.jar, flink-shaded-jackson-2.13.4-16.1.jar, flink-shaded-netty-4.1.82.Final-16.1.jar, flink-shaded-zookeeper-3-3.7.1-16.1.jar, flink-streaming-java-1.17.0.jar, log4j-api-2.20.0.jar, log4j-core-2.20.0.jar, log4j-slf4j-impl-2.20.0.jar define 1 overlapping resource: [WARNING] - META-INF/DEPENDENCIES [WARNING] flink-shaded-jackson-2.13.4-16.1.jar, log4j-api-2.20.0.jar define 1 overlapping classes: [WARNING] - META-INF.versions.9.module-info [WARNING] commons-cli-1.5.0.jar, commons-collections-3.2.2.jar, commons-compress-1.21.jar, commons-io-2.11.0.jar, commons-lang3-3.12.0.jar, commons-math3-3.6.1.jar, commons-text-1.10.0.jar define 2 overlapping resources: [WARNING] - META-INF/LICENSE.txt [WARNING] - META-INF/NOTICE.txt [WARNING] flink-shaded-netty-4.1.82.Final-16.1.jar, flink-shaded-zookeeper-3-3.7.1-16.1.jar define 6 overlapping resources: [WARNING] - META-INF/io.netty.versions.properties [WARNING] - META-INF/native-image/io.netty/buffer/native-image.properties [WARNING] - META-INF/native-image/io.netty/common/native-image.properties [WARNING] - META-INF/native-image/io.netty/handler/native-image.properties [WARNING] - META-INF/native-image/io.netty/transport/native-image.properties [WARNING] - META-INF/native-image/io.netty/transport/reflection-config.json [WARNING] log4j-slf4j-impl-2.20.0.jar, logback-classic-1.2.11.jar define 3 overlapping classes: [WARNING] - org.slf4j.impl.StaticLoggerBinder [WARNING] - org.slf4j.impl.StaticMDCBinder [WARNING] - org.slf4j.impl.StaticMarkerBinder [WARNING] maven-shade-plugin has detected that some class files are [WARNING] present in two or more JARs. When this happens, only one [WARNING] single version of the class is copied to the uber jar. [WARNING] Usually this is not harmful and you can skip these warnings, [WARNING] otherwise try to manually exclude artifacts based on [WARNING] mvn dependency:tree -Ddetail=true and the above output. [WARNING] See http://maven.apache.org/plugins/maven-shade-plugin/ [INFO] Replacing original artifact with shaded artifact. [INFO] Replacing D:\BigData\Idea\Idea创建的文件\FlinkTutorial\target\FlinkTutorial-1.0-SNAPSHOT.jar with D:\BigData\Idea\Idea创建的文件\FlinkTutorial\target\FlinkTutorial-1.0-SNAPSHOT-shaded.jar [INFO] Dependency-reduced POM written at: D:\BigData\Idea\Idea创建的文件\FlinkTutorial\dependency-reduced-pom.xml [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 5.862 s [INFO] Finished at: 2025-09-16T23:49:21+08:00 [INFO] ------------------------------------------------------------------------ 进程已结束,退出代码为 0 我这里的报错看一下
最新发布
09-17
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值