Java开发基础——制作jar包

Java开发基础——制作jar包

在我们实际开发项目中,会引入很多的外部jar包,这些jar包都是别人封装了很多的方法,极大的方便了我们的程序开发。其实我们自己也可以制作属于自己的jar包,来供自己或他人使用。本篇博客将会来详细的说明来制作一个简单的jar包。

(1)首先我们建议使用Maven来管理我们的包依赖。这里也会使用Maven来进行打包。首先我们创建一个基于Maven的Java项目,使用的IDE是IDEA。项目创建完成后的目录如下图所示:



(2)在pom.xml中配置Mave依赖和插件,jar包的pom.xml实现如下:

    <groupId>com.chenyufeng</groupId>    <artifactId>firstmaven</artifactId>    <version>1.0</version>    <packaging>jar</packaging>    <build>        <finalName>firstmaven1</finalName>        <plugins>            <plugin>                <artifactId>maven-assembly-plugin</artifactId>                <configuration>                    <appendAssemblyId>true</appendAssemblyId>                    <descriptorRefs>                        <descriptorRef>jar-with-dependencies</descriptorRef>                    </descriptorRefs>                    <archive>                    </archive>                </configuration>                <executions>                    <execution>                        <id>make-assembly</id>                        <phase>package</phase>                        <goals>                            <goal>assembly</goal>                        </goals>                    </execution>                </executions>            </plugin>        </plugins>    </build>

可以看到,我们在<packaging>标签中指定了要打的包是jar包,如果这是一个SpringMVC项目或者是Java Web项目,那么填的就是war包了。在下面增加了一个maven插件,专门用来打包。刷新一下项目的Maven,可以在IDEA中看到安装的maven插件,如下图所示:


等下我们会使用其中的assembly:assembly来构建包。


(3)我们创建一个FirstTest类,里面实现一个callMe()方法,代码实现如下:

public class FirstTest {    public static void main(String[] args) {        callMe();    }    public static String callMe() {        return "yufeng";    }}


(4)完成代码后,我们使用maven:assembly进行打包,选中后,点击上面的绿色三角,开始打包。



打包过程中,控制台会输出很多日志,如果打包失败,可以查看日志进行排错。打包成功后,项目会自动生成target目录,target下就有我们项目的jar包了。这里jar报分为带依赖的包和不带依赖的包,带依赖的包表示jar包中已经包括了pom.xml中的所有依赖。



(5)这里我们取出带依赖的包,导入jar包到其他项目中,然后就可以直接使用jar包中的方法了:

import com.chenyufeng.FirstTest;public class UseJars {    //使用自己打的包    public static void main(String[] args) {        String string = FirstTest.callMe();        System.out.println(string);    }}
其实我们可以把一些常用的工具类方法自己封装成jar包,然后在其他的项目中使用,可以大大提高开发效率。如果你觉得自己的jar包很不错,还可以发布到Maven中,供别人下载使用。

推荐阅读