免费获客网站、免费获客平台、免费产品获客【风起获客】风起获客
  • 首页
  • 供应商
  • 采购商
  • 找企业
  • 找产品
  • 论坛
登录 / 注册

jar包和war包的区别是什么?war包和src包src包分别是什么?有何区别

5932467931
2024-09-13
103
分享

专业编程培训机构——完成蜕变以后轻松拿高薪

电话+V:159999-78052 ,欢迎咨询war包需要编译吗为什么,[python实用课程],[C++单片机原理],[C#网站搭建],[Nodejs小程序开发],[ios游戏开发],[安卓游戏开发],[教会用大脑用想法赚钱实现阶层跨越]

一、jar包和war包的区别是什么?

jar包和war包的区别:

1、war是一个web模块,其中需要包括WEB-INF,是可以直接运行的WEB模块;jar一般只是包括一些class文件,在声明了Main_class之后是可以用java命令运行的。

2、war包是做好一个web应用后,通常是网站,打成包部署到容器中;jar包通常是开发时要引用通用类,打成包便于存放管理。

3、war是Sun提出的一种Web应用程序格式,也是许多文件的一个压缩包。这个包中的文件按一定目录结构来组织;classes目录下则包含编译好的Servlet类和Jsp或Servlet所依赖的其它类(如JavaBean)可以打包成jar放到WEB-INF下的lib目录下。

二、war包和src包src包分别是什么?有何区别

src包是在开发时辨别目录的包名,是泛指java程序放置的路径

war包是开发完成以后,先通过编译,然后压缩的一种打包方式,往往运行在服务器上的是war包,而不是java文件,war包中的java文件被编译成.class文件

修改Jar包为War包

2019-10-1113:42·淼淼墩

一、修改pom.xml文件将默认的jar方式改为war:

<groupId>com.example</groupId>

<artifactId>application</artifactId>

<version>0.0.1-SNAPSHOT</version>

<!--默认为jar方式-->

<!--<packaging>jar</packaging>-->

<!--改为war方式-->

<packaging>war</packaging>

二、排除内置的Tomcat容器(两种方式都可):

1.排除spring-boot-starter-web中的Tomcat

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

<exclusions>

<exclusion>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-tomcat</artifactId>

</exclusion>

</exclusions>

</dependency>

2.添加依赖

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-tomcat</artifactId>

<!--打包的时候可以不用包进去,别的设施会提供。事实上该依赖理论上可以参与编译,测试,运行等周期。

相当于compile,但是打包阶段做了exclude操作-->

<scope>provided</scope>

</dependency>

三、继承
org.springframework.boot.web.servlet.support.SpringBootServletInitializer,实现configure方法:

为什么继承该类,
SpringBootServletInitializer源码注释:

NotethataWebApplicationInitializerisonlyneededifyouarebuildingawarfileanddeployingit.

Ifyouprefertorunanembeddedwebserverthenyouwon'tneedthisatall.

war包需要编译吗为什么

注意,如果您正在构建WAR文件并部署它,则需要WebApplicationInitializer。

如果你喜欢运行一个嵌入式Web服务器,那么你根本不需要这个。

启动类代码:

@SpringBootApplication

publicclassApplication{

publicstaticvoidmain(String[]args){

SpringApplication.run(Application.class,args);

}

}

1.方式一,启动类继承
SpringBootServletInitializer实现configure:

@SpringBootApplication

publicclassApplicationextendsSpringBootServletInitializer{

publicstaticvoidmain(String[]args){

SpringApplication.run(Application.class,args);

}

@Override

protectedSpringApplicationBuilderconfigure(SpringApplicationBuilderbuilder){

returnbuilder.sources(Application.class);

}

}

2.方式二,新增加一个类继承
SpringBootServletInitializer实现configure:

publicclassServletInitializerextendsSpringBootServletInitializer{

@Override

protectedSpringApplicationBuilderconfigure(SpringApplicationBuilderbuilder){

//此处的Application.class为带有@SpringBootApplication注解的启动类

returnbuilder.sources(Application.class);

}

}

注意事项:

使用外部Tomcat部署访问的时候,application.properties(或者application.yml)中配置的

server.port=

server.servlet.context-path=

将失效,请使用tomcat的端口,tomcat,webapps下项目名进行访问。

为了防止应用上下文所导致的项目访问资源加载不到的问题,

建议pom.xml文件中<build></build>标签下添加<finalName></finalName>标签:

<build>

<!--应与application.properties(或application.yml)中context-path保持一致-->

<finalName>war包名称</finalName>

<plugins>

<plugin>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-maven-plugin</artifactId>

</plugin>

</plugins>

</build>

使用mvn命令行打包,运行:

clean是清除之前的包,-Dmaven.test.skip=true是忽略测试代码

jar方式打包,使用内置Tomcat:mvncleaninstall-Dmaven.test.skip=true

运行:java-jar包名.jar

war方式打包,使用外置Tomcat:mvncleanpackage-Dmaven.test.skip=true

运行:${Tomcat_home}/bin/目录下执行startup.bat(windows)或者startup.sh(linux)

【WINDRISES EMPLOYMENT PROGRAMMING】尊享对接老板

电话+V:159999-78052

机构由一批拥有10年以上开发管理经验,且来自互联网或研究机构的IT精英组成,负责研究、开发教学模式和课程内容。公司具有完善的课程研发体系,一直走在整个行业发展的前端,在行业内竖立起了良好的品质口碑。

war包需要编译吗为什么
相关新闻
  • 01
    大神!问一下盗版品茗查到盗版文件,打不开怎么办|品茗软件最新版本(广东品茗软件正式入驻头条号,在头条中等您)
    610
  • 02
    赶海是涨潮的时候还是退潮的时候,大海涨潮退潮的原理是啥?退潮以后的海水又去哪了?看完长知识了
    178
  • 03
    微信点单小程序怎么开通,扫码点单的小程序怎么弄
    108
  • 04
    股市什么是利好消息——利好消息落实,港股情绪释放或已基本到位,中概互联网ETF(159607)盘...
    102
  • 05
    jar包和war包的区别是什么?war包和src包src包分别是什么?有何区别
    102
  • 06
    探索Python Selenium库:自动化测试和Web操作的完整指南,Web Scraper爬虫浏览器插件使用案例详解
    102
  • 07
    梅西回应错失点球:罚丢让我愤怒,他在本届世界杯比赛中的表现让人满意...梅西最吓人的点球#阿根廷队
    89
  • 08
    iphone11pro怎么设置墙纸,苹果相册如何拼图合成一张
    88
  • 09
    南京德基广场coach具体位置,南京德基广场有哪些奢侈品牌
    87
  • 10
    北京大学各专业代码是多少?大学专业代码?
    85
  • 11
    孙杨1500米世界纪录是多少,孙杨夺1500米冠军!全国游泳冠军赛收获四枚金牌
    74
  • 12
    又一个案子复杂证明怎么开启复仇吸血鬼,《又一个案子解决了》偷窃高手案件怎么过介绍_《又一个案子解决了》偷窃...
    74
  • 13
    如果马皇后没死,朱棣还敢造反吗?或者是他会成功吗?马皇后如果没有早死的话,朱棣还敢不敢造反?
    70
  • 14
    宝塔是什么意思服务器,宝塔只能用25端口吗
    70
  • 15
    吃鸡游戏的灵敏度要怎么调才更稳?和平精英灵敏度怎么调最稳
    68
相关广告
广告图
联系方式 微信
引擎网址:
百度
雅虎
360
谷歌
必应
本站导航:
首页
找供应商
找采购商
找企业
找产品
论坛
站点地图
友情链接:
太平洋
中关村
阿里巴巴
凤凰
新浪
腾讯
网易
搜狐
百度
交换链接:
免费获客网站、免费获客平台、免费产品获客【风起获客】
粤ICP备2024275337号-1 地址:广州市中山大道西1344号神秘花园1F1002 24小时服务热线:15999978052 联系QQ:1258690818 隐私条款
广州风起网络科技有限公司 Copyright © 2020 - 2025