每当搭建框架时,第一步就是为系统整理一个接一个的jar包。用多了就开始深思,如何把自己的项目也整成jar包,供他人使用呢?

  近期一直在看徐晓斌所著:《Maven实战》。因自己学识不够,只是简单理解了一些,但也受益颇深。

  下面介绍如何利用Maven把项目生成jar包:

1:利用eclipse搭建一个maven项目。(简单描述pom.xml配置)

<?xml version="1.0" encoding="UTF-8"?> <!-- 指定Xml文档的版本和编码方式 -->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <!-- 声明POM相关的命名空间及Xsd元素 -->
<modelVersion>4.0.0</modelVersion> <!-- 指定当前POM模型的版本 -->
<groupId>com.gcs</groupId> <!-- 定义项目属于哪个组,与所属组织或公司关联 -->
<artifactId>AllUtil</artifactId> <!-- 标识当前项目ID -->
<version>0.0.1-SNAPSHOT</version> <!-- 指定当前的版本 SNAPSHOT为快照,标志处于开发中 -->
<packaging>jar</packaging> <!-- 定义生成格式,若要运行web,需改为war --> <name>AllUtil</name> <!-- 声明更友好的项目名称(非必须) -->
<url>http://maven.apache.org</url> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<junitversion>4.12</junitversion> <!-- 全局变量定义版本,以方便统一管理 -->
</properties> <dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junitversion}</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>

2:在项目开发时,pom.xml中<packaging>设置为war,鼠标点击pom.xml,右键,Run As选择 Maven clean,清理生成的war包,然后选择Maven install,重新加载(先clean,是防止修改的程序没有生效。)

3:项目开发结束后,把pom.xml中<packaging>设置为jar。重复第二步,会在target下,看到生成的AllUtil-0.0.1-SNAPSHOT.jar包。

  (1)若项目为普通项目,可直接把该jar包放入lib下,导入项目中即可使用。

  (2)若项目为maven项目,则需要把jar包放入本地的maven仓库:

    当项目运行Maven install时,maven自动会把jar包自动保存至本地仓库(本地为*\.m2\repository\com\gcs)。

    当新项目需要用到时只需要在pom.xml的<dependencies></dependencies>中配置如下,即可使用

     <dependency>
<groupId>com.gcs</groupId>
<artifactId>AllUtil</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>

    注意:当完成上面的操作,打开项目中 Maven Dependencies,发现导出的jar包呈现文件夹模样。如下图所示,此原因是因为AllUtil项目还为可运行项目,把AllUtil项目关闭后,jar包正常显示,项目也能正常使用。

利用Maven把项目生成jar包供其他项目使用的更多相关文章

  1. android studio 将自己的项目生成jar包

    很多情况下我们开发的项目不是一个完整的app,而是完成一部分功能,供别人的app使用的情况.这时就需要将我们的项目打包生成jar或者arr库文件,让别人的app导入我们的jar包,就能直接使用我们项目 ...

  2. 【转载】JAVA SpringBoot 项目打成jar包供第三方引用自动配置(Spring发现)解决方案

    JAVA SpringBoot 项目打成jar包供第三方引用自动配置(Spring发现)解决方案 本文为转载,原文地址为:https://www.cnblogs.com/adversary/p/103 ...

  3. Android Studio项目生成Jar包

    步骤: 1)在module的gradle文件中,将apply plugin:'com.android.application'改为apply plugin:'com.android.library' ...

  4. 【Maven jar】打包单个或多个文件,有依赖jar包的将架包一起打包成一个jar包供别的项目引用

    之前有一片文章,是打包单个java文件的.这次想要将http://www.cnblogs.com/sxdcgaq8080/p/8398780.html  打包成jar包,发现这个java文件中引用了多 ...

  5. 利用MAVEN打包可运行jar包,包括依赖的第三方包

    转载自:http://bglmmz.iteye.com/blog/2058914 背景: 另一篇文章说了如何利用IDEA来打包,现在来说说如何利用MAVEN打包 目标:应用本身打成一个jar包,依赖的 ...

  6. spring boot:多模块项目生成jar包(spring boot 2.3.3)

    一,多模块项目的优点: 1,为什么要使用多模块项目? 相比传统的单体工程,使用Maven的多模块配置, 有如下优点: 帮助项目划分模块,鼓励重用, 防止POM变得过于庞大, 方便某个模块的构建,而不用 ...

  7. JAVA SpringBoot 项目打成jar包供第三方引用自动配置(Spring发现)解决方案

    本项目测试环境 JDK: 1.8 SpringBoot: 2.1 需求描述 当我们想要利用SpringBoot封装一套组件并发布给第三方使用时,我们就不得不考虑我们的组件能否被使用者正确引入使用,此处 ...

  8. 【maven】成功生成jar包,提示找不到主类?

    问题描述:   使用maven构建zookeeper项目,完成一个简单的创建组的实例,代码调试完成,使用mvn clean install成功打包得到了jar包,但是在执行时发现使用java -cp ...

  9. Spring Boot项目生成jar包,并在windows服务器中注册成服务,开机启动

    背景: 使用Spring Boot开发的Web项目,打包生成了一个jar包,希望能部署在Windows服务器中 尝试: 1.Spring Boot生成的jar包,可以直接用java -jar运行,但是 ...

随机推荐

  1. 分析MariaDB初始化脚本mysql_install_db

    在初始化MySQL的过程中经常会碰到各种问题,如 FATAL ERROR: Could not find ./bin/my_print_defaults ERROR: Can't create/wri ...

  2. T-Sql(八)字段索引和数据加密

    t-sql的基本用法讲到第八章也差不多了,最后就讲下字段索引和数据加密,这两个内容对编程人员可能用的地方不是太多,还是那句老话“防患于未然”. 下面我就简单的说下字段索引和数据加密的内容,只是简单概述 ...

  3. Struts2学习笔记--使用Response下载文件和Struts2的StreamResult文件下载

    使用Response下载文件,servlet中的文件下载是通过流来实现的   我在webRoot文件夹下新建了一个文件夹from,里边放了一张图片,这里就以下载这张图片为例:download.jsp很 ...

  4. JavaScript 获取HTML中的CSS样式的属性以及值的的方法。

    <body> <div id="wow" style="font-size:10px; float:left"></div> ...

  5. Java中读文件操作

    InputStream & Reader InputStream(字节流),如下是InputStream的层次结构: AudioInputStream:音频输入流类,该方法可以: 从外部音频文 ...

  6. C# String.Format格式化json字符串中包含"{" "}"报错问题

    json.Append(String.Format("{\"total\":{0},\"row\":{1}}", lineCount, st ...

  7. 7.Struts2复杂类型数据的接受

    复合类型数据的接收 所谓复合类型数据是指,一个JavaBean实例的属性值,而这些值又作为参数传递给Action. Action若要接收这些数据,需要做到以下几点: (1)定义Action时,将该Be ...

  8. PHP面试题之实现输出100以内的质数

    最近求职时的其中一道面试题: 求100之内的质数 <? //求100以内质数 for ($i = 1; $i <= 100; $i++) { $k = 0; for ($j = 1; $j ...

  9. 使用webstom或者idea上传代码到github或coding

    鉴于github网络速度太慢,建议用coding.先介绍github上传方式,因为webstom或idea集成了github,方法简单. git是一个版本控制器,他的作用是管理代码.比如你修改了代码, ...

  10. HTML基本元素(一)

    HTML基本元素(一) 1.换行符 <br /> Ps:br 是换行(Break)的缩写,文本会在这个标签的地方换行. 实例: 第一行<br />第二行 2.段落 <p& ...