很多优秀的 Java 项目实际上并不提供免费使用,比如 aspose,而作为个人的话一般而言都会选择它的破解版本来研究,那么破解后的 jar 包肯定是不能直接在 Maven 的中央仓库下载到的,我们只能选择本地导入或者私服的方式来加载,后者会要求你具备 nexus 私服系统,前者若通过 system scope 来导入的话,是无法使用使用 jar-with-dependencies 进行打包的,那么这里提供另一种实现方式:在项目下创建一个 repository 来加载
先上项目源代码:github/simple-convert
创建本地 repository
-
进入项目根目录,假设我们有一个名为 libs 的目录,libs 下面有一个名为 aspose-words-15.8.0-jdk16.jar 的 jar 包(破解好的 jar 包)
-
在项目根目录下创建一个名为 repo 的目录,接下来把这个目录作为我们的本地 repository
-
在 libs 目录下执行命令,将 aspose 的 jar 包 deploy 到 repo 下面
mvn deploy:deploy-file -DgroupId=com.aspose.words -DartifactId=aspose-words -Dversion=15.8.0 -Dpackaging=jar -Dfile=./aspose-words-15.8.0-jdk16.jar -Durl=file://${您的项目根目录绝对地址}\repo\
-
build success 后我们应该可以在 repo 目录下观察到理想的结果:
配置 pom.xml
-
首先配置我们刚刚添加的本地 repository
<repositories> <repository> <id>project.local</id> <name>project</name> <url>file:${project.basedir}/repo</url> </repository> </repositories>
-
接下来直接使用 aspose 的 jar 包便可
<dependency> <groupId>com.aspose.words</groupId> <artifactId>aspose-words</artifactId> <version>15.8.0</version> </dependency>
总结
通过这种方式来让 maven 加载本地的 jar 包,可以规避 system scope 所会带来的问题,同时能够最大化避免跟其他 plugin(打 jar 包的 plugin)所可能产生的冲突
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于