浅谈maven的jar包和war包区别 以及打包方法
jar文件包括java普通类、资源文件和普通文件,在maven中即是打包src/main/java和src/main/resources资源文件夹下的所有文件。在打包的时候会自动生成MATA-INF文件夹,用于存储maven的pom信息和MANIFEST.MF文件。例如:
war文件包含全部的web应用程序,即所有的java类,配置信息和jsp、js等静态资源。但是需要注意war引用war的时候会将应用war的资源全部拷贝到当前war的相同文件下,重名的文件会被替换。例如:
war包依赖:
<dependency> <groupId>com.my.module</groupId> <artifactId>module1</artifactId> <version>0.0.1-SNAPSHOT</version> <type>war</type> //根据这个来看打什么包 </dependency>
打成包的位置 ,这是我直接 项目右键->run as->maven clean 完了后 maven install
引言:
大家平时肯定都有用过全文检索工具,最常用的百度谷歌就是其中的典型。如果自己能够做一个那是不是想想就逼格满满呢。Apache就为我们提供了这样一个框架,
以下就是在实际开发中加入Lucene的一个小Demo。
这个项目是基于之前使用IDEA搭建的SSM的基础上进行增加的,
编写Lucene工具类
这个工具类中的具体代码我就不单独提出来说了,每个关键的地方我都写有注释,不清楚的再讨论。
这篇浅谈maven的jar包和war包区别 以及打包方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
maven打包web项目时同时打包为war和jar文件的方法
本文介绍了maven打包web项目时同时打包为war和jar文件的方法,分享给大家,具体如下: 首先在pom.xml文件中指定war的打包方式,war <artifactId>test</artifactId> <name>test</name> <packaging>war</packaging> 上述代码在eclipse中执行maven install时, 会默认打成war,并放入本地仓库. web项目时同时打包为war和jar文
-
Maven引入本地Jar包并打包进War包中的方法
1.概述 在平时的开发中,有一些Jar包因为种种原因,在Maven的中央仓库中没有收录,所以就要使用本地引入的方式加入进来. 2. 拷贝至项目根目录 项目根目录即pom.xml文件所在的同级目录,可以在项目根目录下创建文件夹lib,如下图所示: 这4个Jar包是识别网页编码所需的包. 3. 配置pom.xml,依赖本地Jar 配置Jar的dependency,包括groupId,artifactId,version三个属性,同时还要包含scope和systemPath属性,分别指定Jar包来源于
-
浅谈maven的jar包和war包区别 以及打包方法
jar文件包括java普通类.资源文件和普通文件,在maven中即是打包src/main/java和src/main/resources资源文件夹下的所有文件.在打包的时候会自动生成MATA-INF文件夹,用于存储maven的pom信息和MANIFEST.MF文件.例如: war文件包含全部的web应用程序,即所有的java类,配置信息和jsp.js等静态资源.但是需要注意war引用war的时候会将应用war的资源全部拷贝到当前war的相同文件下,重名的文件会被替换.例如: war包依赖: <d
-
浅谈java 执行jar包中的main方法
浅谈java 执行jar包中的main方法 通过 OneJar 或 Maven 打包后 jar 文件,用命令: java -jar ****.jar 执行后总是运行指定的主方法,如果 jar 中有多个 main 方法,那么如何运行指定的 main 方法呢? 用下面的命令试试看: java -classpath ****.jar ****.****.className [args] "****.****"表示"包名": "className"表示&
-
浅谈两个jar包中包含完全相同的包名和类名的加载问题
首先从表现层介绍,后续后深入原理. 1.先简单介绍maven如何生成jar文件方便测试 <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>2.4</version> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptor
-
浅谈Maven包冲突的原理及解决方法
1.概述 Apache Maven ,是一个软件(特别是Java软件)项目管理及自动构建工具.在没有Maven的上古年代,项目中引入jar包需要手动下载一个个的去下载,但是随着代码数量的增加,引入的jar包数量自然会增加,随之而来的就是jar包冲突的问题了. 2.产生jar包冲突的原因 众所周知,一个项目中不能存在两个全限定类名一致的Class类,并且jar包的本质就是打包好的Class类文件,例如: 将 junit-jupiter-api-5.6.2.jar 文件解压后, 可以得到多个Clas
-
浅谈Spring解决jar包依赖的bom
名词解释: BOM(bill of materials):材料清单,用于解决jar包依赖的好方法. Spring IO Platform 缘起:Spring起初只专注ioc和aop,现在已发展成一个庞大体系.比如security.mvc等.如此一来,不同模块或者与外部进行集成时,依赖处理就需要各自对应版本号.比如,较新spring与较老的quartz,它们集成就会遇到问题,给搭建和升级带来不便.因此Spring IO Platform应运而生,只要项目中引入了它,外部集成时依赖关系无需版本号.官
-
浅谈Maven的build生命周期和常用plugin
简介 Maven为我们封装了很多构建中非常有用的操作,我们只需要执行简单的几个mvn命令即可. 今天我们要讨论一下mvn命令之下的生命周期的构建. lifecycle和Phases 所谓lifecycle,可以理解为可以执行一组命令的集合,用来执行具体的某些操作. Maven默认有三种lifecycle:default,clean和site.default主要用来处理项目的开发,clean主要用来负责项目的清理,site主要用来生成项目的文档. lifecycle是由一个或者多个phase组成的
-
浅谈Maven的安装及修改为阿里云下载依赖
使用JAVA工程管理越来越多的jar包,担心导错了,多导了,漏导了怎么办? 换一个IDE项目后项目会不会出一堆BUG,看的头皮发麻? 自己写的代码放在别人的机器上运行会不会出问题? Maven的强大毋庸置疑,当使用Maven后以上这些都不是问题,但是配置maven是一件耐心的事情,基本步骤总结如下: 一.下载 http://maven.apache.org/download.cgi 也可以直接在eclipse工具中下载,点击eclipse菜单栏Help->Eclipse Marketplace搜
-
浅谈maven单元测试设置代理
背景 环境需要设置代理才能够访问外部网络,如果只是运行java程序来访问网络,我们可以通过java -jar test.jar -DproxyHost=proxy_ip -DproxyPort=proxy_port,但如果是java的maven项目中,单元测试需要访问网络,只执行mvn test则会导致单元测试的代码无法访问网络. 解决 Maven单元测试,使用的是Surefire Maven插件.当Surefire插件fork JVM时,并不会继承所有的系统属性.因此我们可以通过命令行来如下设
-
SpringBoot工程搭建打包、启动jar包和war包的教程图文详解
工程搭建 1.File->new->project: 2.选择"Spring Initializr",点击next:(jdk1.8默认即可) 3.完善项目信息,组名可不做修改,项目名可做修改:最终建的项目名为:test,src->main->java下包名会是:com->example->test:点击next: 4.Web下勾选Spring Web Start,(网上创建springboot项目多是勾选Web选项,而较高版本的Springboot没
-
浅谈Maven Wrapper
简介 开发java项目少不了要用到maven或者gradle,对比gradle而言,可能maven要更加常用一些.要使用maven那就必要要安装maven,如果有些用户不想安装maven怎么办?或者说用户不想全局安装maven,那么可以使用项目级别的Maven Wrapper来实现这个功能. 如果大家使用IntelliJ IDEA来开发Spring boot项目, 如果选择从Spring Initializr来创建项目,则会在项目中自动应用Maven Wrapper.简单点说就是在项目目录下面会
随机推荐
- Git 教程之分支管理详解
- 借助script进行Http跨域请求:JSONP实现原理及代码
- CLASS_CONFUSION JS混淆 全源码
- ParseInt函数参数设置介绍
- php中curl、fsocket、file_get_content三个函数的使用比较
- PHP脚本数据库功能详解(下)
- C++位操作的常见用法小结
- c语言可变参数实现示例
- JavaScript操作Cookie详解
- ssh自动登录的4种实现方法
- SqlServer 实用操作小技巧集合第1/2页
- MySQL命令行删除表中的一个字段
- JavaScript 学习笔记(十二) dom
- Jquery使用val方法读写value值
- spring结合hibernate示例详解
- Android开发实现自定义新闻加载页面功能实例
- 完美解决gson将Integer默认转换成Double的问题
- 测试php函数的方法
- Android管理与操作Wifi简单实例源码
- ADSL 猫在路由方式下会有安全隐患