Maven - Scala/Java 项目添加自己的 jar 包

简介: 一.引言scala / java 项目引用非官方依赖 jar 包时,需要自定义并打入最终的 jar 包,经过试验以下方案可以实现。二.添加 jar 包到 maven 库 ????第三方自定义 jar 包可以添加到本地 maven 库中,随后即可 mvn package 打入到最终的项目 jar 包中,该方法最方便。创建 install.sh 文件,jar_path 为第三方自定义 jar 包在设备的位置,groupId、artifactId 和 版本号 version 自己定义,执行脚本后

 一.引言

scala / java 项目引用非官方依赖 jar 包时,需要自定义并打入最终的 jar 包,经过试验以下方案可以实现。

二.添加 jar 包到 maven 库 👍

第三方自定义 jar 包可以添加到本地 maven 库中,随后即可 mvn package 打入到最终的项目 jar 包中,该方法最方便。创建 install.sh 文件,jar_path 为第三方自定义 jar 包在设备的位置,groupId、artifactId 和 版本号 version 自己定义,执行脚本后 echo 会打印出对应依赖的 pom 格式,粘贴复制到项目 maven 中后打包即可添加该 jar。

#!/bin/bash
jar_path=./lib/yourself.jar
jar_groupId=com.self
DartifactId=myjar
Dversion=0.1
mvn install:install-file -Dfile=$jar_path -DgroupId=$jar_groupId -DartifactId=$DartifactId -Dversion=$Dversion -Dpackaging=jar -DgeneratePom=true
pom="<dependency>\n
\t<groupId>$jar_groupId</groupId>\n
\t<artifactId>$DartifactId</artifactId>\n
\t<version>$Dversion</version>\n
</dependency>"
echo $pom

image.gif

三.添加 jar 包到 项目目录

上面的方法可以将对应第三方 jar 添加至最终的 jar 包中,除此之外,也可以将第三方 jar 包放到项目中,也可以实现上述效果。

1.添加 jar 包到项目

可以直接在 root 目录下创建 lib 文件夹,也可以在 src/main/resources 文件夹下创建 lib 文件夹,然后将第三方 jar 包拷贝至创建的目录中。

image.gif编辑

2.添加 jar 包到 maven

File -> Project Structrue -> Libraries -> + -> java 到项目对应位置选择 jar 包即可添加,后面项目中即可正常使用该第三方 jar 包。

image.gif编辑

3.第三方 jar 包打入最终 jar 包

正常情况下直接 mvn package 即可将第三方 jar 包打入,如果打包不生效就在 pom 中添加如下 plugin 配置:

<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.3</version>
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
            <encoding>UTF-8</encoding>
            <compilerArguments>
                <extdirs>${project.basedir}/lib</extdirs>
            </compilerArguments>
        </configuration>
    </plugin>
</plugins>

image.gif

extdirs 的地址中 ${project.basedir} 是该项目的根目录,后续 lib 为添加的项目地址,如果添加到 src/main/resources/lib 下,则修改为 ${project.basedir}/src/main/resources/lib。

四.总结

这里推荐使用第一个 👍 的方法,整体比较简洁省事,如果第三方 jar 包通过 --jars 传入,则 lib 下对应的第三方 jar 包只用于编译,此时使用 scope = syetem 的打包方式即可,这样可以压缩最终 jar 包的大小,减小传输量 :

<dependency>
    <groupId>$groupId</groupId>
    <artifactId>$artifactId</artifactId>
    <version>$version</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/lib/your.jar</systemPath>
</dependency>

image.gif


目录
相关文章
|
Java jenkins 应用服务中间件
结合Jenkins与Tomcat,实施Maven项目的自动构建和部署流程。
任何项目构建和部署的自动化流程,总离不开对各个环节精细把控与密切配合。涉及到源代码管理、构建工具、持续集成服务器以及最终的运行时环境的协调。通过上述简洁实用的步骤,可以实现Maven项目从源代码到运行状态的无缝过渡,进而提升软件开发的效率与质量。
678 0
|
Java Maven 开发者
maven项目中官方setting.xml文件
`settings.xml` 是 Maven 的配置文件,用于定义用户或全局级别的构建行为。它包含本地仓库路径、网络代理、服务器认证、仓库镜像及构建配置文件等设置,帮助开发者根据环境定制 Maven 行为,提升构建效率与灵活性。
1853 0
|
Java 区块链 Maven
关于引入maven项目后出现‘parent.relativePath’ of POM错误时的解决方法
关于引入maven项目后出现‘parent.relativePath’ of POM错误时的解决方法
901 3
|
Java 测试技术 项目管理
【JavaEE】从 0 到 1 掌握 Maven 构建 Java 项目核心技巧 解锁 Java 项目高效管理实用实例
本文从Maven基础概念讲起,涵盖安装配置、核心概念(如POM与依赖管理)及优化技巧。结合Java Web项目实例,演示如何用Maven构建和管理项目,解决常见问题,助你高效掌握这一强大工具,提升Java开发与项目管理能力。适合初学者及进阶开发者学习。资源链接:[点此获取](https://pan.quark.cn/s/14fcf913bae6)。
588 6
|
Java Linux
java的jar后台启动
java的jar后台启动
375 14
|
存储 Java Maven
Maven系统级别依赖:解决部署时Jar包缺失问题
以上就是关于Maven系统级别依赖解决部署时Jar包缺失问题的解答,希望对你有所帮助。在软件开发中,遇到问题并解决问题是常态,希望你能够善用这些工具,解决你遇到的问题。
949 28
|
前端开发 JavaScript Java
Java打包jar运行时分离lib和jar
在`pom.xml`的`build`节点中,设置`packaging`为`jar`,并配置插件分离依赖库到`lib`目录和资源文件到`resources`目录。这样可以在运行时通过`-Dloader.path=lib,resources`加载外部依赖和资源文件,便于独立升级依赖库和修改资源文件,而无需重新打包程序。具体插件包括`maven-dependency-plugin`、`maven-resources-plugin`和`spring-boot-maven-plugin`等。
1260 2
|
Java Maven
java项目中jar启动执行日志报错:no main manifest attribute, in /www/wwwroot/snow-server/z-server.jar-jar打包的大小明显小于正常大小如何解决
在Java项目中,启动jar包时遇到“no main manifest attribute”错误,且打包大小明显偏小。常见原因包括:1) Maven配置中跳过主程序打包;2) 缺少Manifest文件或Main-Class属性。解决方案如下:
3428 8
java项目中jar启动执行日志报错:no main manifest attribute, in /www/wwwroot/snow-server/z-server.jar-jar打包的大小明显小于正常大小如何解决
|
XML Java 测试技术
从零开始学 Maven:简化 Java 项目的构建与管理
Maven 是一个由 Apache 软件基金会开发的项目管理和构建自动化工具。它主要用在 Java 项目中,但也可以用于其他类型的项目。
1218 1
从零开始学 Maven:简化 Java 项目的构建与管理
|
Java Windows
Java的jar文件安装成windows 服务
Java的jar文件安装成windows 服务
359 0