每当搭建框架时,第一步就是为系统整理一个接一个的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. 使用 Spring Boot 快速构建 Spring 框架应用--转

    原文地址:https://www.ibm.com/developerworks/cn/java/j-lo-spring-boot/ Spring 框架对于很多 Java 开发人员来说都不陌生.自从 2 ...

  2. iOS 如何在整个屏幕中都能实现滑动返回的效果

    - (void)setupGetsInNav { UIGestureRecognizer *gesture = self.interactivePopGestureRecognizer; gestur ...

  3. iOS 如何自定义UISearchBar 中textField的高度

    iOS 如何自定义UISearchBar 中textField的高度 只需设置下边的方法就可以 [_searchBar setSearchFieldBackgroundImage:[UIImage i ...

  4. ProgressBar

    <1>基本信息设置 progressBar1.Maximum = 1000;    //设置ProgressBar的最大值 progressBar1.Value = 0;         ...

  5. phpStorm入门

    首先在官网上下载并安装:http://www.jetbrains.com/phpstorm/; 安装成功后需要激活: IntelliJ IDEA开源社区 提供了如下通用激活方法: 注册时选择Licen ...

  6. 分享在winform下实现模块化插件编程

    其实很早之前我就已经了解了在winform下实现插件编程,原理很简单,主要实现思路就是:先定一个插件接口作为插件样式及功能的约定,然后具体的插件就去实现这个插件接口,最后宿主(应用程序本身)就利用反射 ...

  7. Vagrant入门

    简单地说,Vagrant让我们可以通过代码的方式快速地.可重复地创建针对不同虚拟环境的虚拟机,包括Virtualbox.AWS.Docker等.它使得我们可以一次性地.自动创建多个环境相同的虚拟机,对 ...

  8. c#静态构造函数 与 构造函数 你是否还记得?

    构造函数这个概念,在我们刚开始学习编程语言的时候,就被老师一遍一遍的教着.亲,现在你还记得静态构造函数的适用场景吗?如果没有,那么我们一起来复习一下吧. 静态构造函数是在构造函数方法前面添加了stat ...

  9. XML文档操作集锦(C#篇)

    在JSON没流行起来的时候xml一直作为程序存储配置信息的主流介质:特别是小型数据表方面还是不错的选择,所以经常涉及到的操作无非也就是增删改查,这篇博客主要是对这些对比较常用的操作做了个简单的总结 文 ...

  10. 绿色简单的学校登录html页面

    效果预览:http://hovertree.com/texiao/css/22/ 代码如下: <!DOCTYPE html> <html> <head> <m ...