IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Maven 相关 -> 正文阅读

[Java知识库]Maven 相关

IDEA创建Maven工程;部署Web项目运行到tomcat下

Properties

Maven总共有6类属性,内置属性、POM属性、自定义属性、Settings属性、java系统属性和环境变量属性;

relativePath
relativePath:
1)指定查找该父项目pom.xml的(相对)路径。默认顺序:relativePath > 本地仓库 > 远程仓库
2)没有relativePath标签等同…/pom.xml, 即默认从当前pom文件的上一级目录找
3)表示不从relativePath找, 直接从本地仓库找,找不到再从远程仓库找

maven- compiler-plugin

Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的。进一步说,每个任务对应了一个插件目标(goal),每个插件会有一个或者多个目标,例如maven- compiler-plugin的compile目标用来编译位于src/main/java/目录下的主源码,testCompile目标用来编译位于src/test/java/目录下的测试源码。

Maven 命令
  • clean 清除编译
  • compile 编译
  • test 编译并测试
  • install 打包并发送到本地仓库
  • package 只是打成jar包,并不会发送到本地仓库
sourceDirectory
<packaging>war</packaging>
<!--项目产生的构件类型,例如jar、war、pom。插件可以创建他们自己的构件类型,所以前面列的不是全部构件类型 -->

jar代表生成jar文件,war代表打包的是war文件,意思就是说是一个web程序

<!--项目的名称, Maven产生的文档用 -->
  <name>mypro02 Maven Webapp</name>
<!--项目主页的URL, Maven产生的文档用 -->
  <url>http://maven.apache.org</url>
清除与编译

clean清除编译,compile编译,test编译并测试,install 打包并发送到本地仓库,package 只是打成jar包,并不会发送到本地仓库

webcontent 目录 和 webapp 两个目录什么区别 ?

http://bbs.csdn.net/topics/390686693

因为你新建的时候选择了war,在最后又自己填写了发布路径为webapp作为路径,所以maven根据自己的模板mavne-archetype-webapp生产的工程 所以满足了maven web工程结构要求,自然就不会有了,如果你开始你没有选择mavne-archetype-webapp,而是直接就建立了maven工程那么在转换成web工程时是web插件转化的,所以会出现所谓的webContent,其实这样不符合maven web工作结构,那个可以复制到webapp中然后删除即可。

关于artifact、war、jar、war exploded

https://blog.csdn.net/weixin_45783996/article/details/107967737

intellij中Project Structure中的artifacts到底是什么?
官方定义是这样的:
An artifact is an assembly of your project assets that you put together to test, deploy or distribute your software solution or its part. Examples are a collection of compiled Java classes or a Java application packaged in a Java archive, a Web application as a directory structure or a Web application archive, etc.

翻译过来就是项目资产的组装 ,反正我的理解就是打包方式,像jar、war、war exploded的ar两个字母就是artifact的意思,就是说编译后的Java类,Java应用,Web应用等资源,要用来测试或者部署的时候,该如何打包。某个module有了 Artifacts 就可以部署到应用服务器中了(比如在部署步骤中选择的就是artifacts里面的artifact,当然也可以选择external source)。

jar和war又有什么区别呢?
定义区别:
jar:Java ARchive,通常用于聚合大量的Java类文件、相关的元数据和资源(文本、图片等)文件到一个文件,以便分发Java平台应用软件或库;

war:Web application ARchive,一种JAR文件,其中包含用来分发的JSP、Java Servlet、Java类、XML文件、标签库、静态网页(HTML和相关文件),以及构成Web应用程序的其他资源;

exploded:在这里你可以理解为展开,不压缩的意思。也就是war、jar等产出物没压缩前的目录结构。建议在开发的时候使用这种模式,便于修改了文件的效果立刻显现出来。



问题 项目为什么要使用jar或war进行打包发布?使用场景区别是什么?

问题 为什么javaweb部署到服务器上的url默认为project文件名_war_exploded?
因为intellij默认帮我们设置的artifact是exploded类型的,那么改artifact的name就是project文件名:war exploded,那applicant context(也就是部署的目录,即项目根目录的路径)就默认为project文件名_war_exploded,当然这个可以自由改动。

问题 javaweb中的output path已经设置成了WEN-INF下面的classes文件夹,那么out文件夹到底是用来干嘛的?
用来生成artifact,artifact目录下面默认是只有一个project文件名_war_exploded文件夹的,里面的结构和内容都与web(或者web-content?)文件夹一致。
但是也可以手动生成一个war包,这个网上也有教程,比如这里,然后部署,设置applicant context,然后访问。或者复制到tomcat的webapps文件夹下面,启动电脑上的tomcat服务器来访问。

链接:https://blog.csdn.net/weixin_45783996/article/details/107967737
其他

在eclipse jee中创建Maven project并且转换为Dynamic web project
http://www.zuidaima.com/blog/1618162161323008.htm

参考资料

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-03-30 18:09:58  更:2022-03-30 18:11:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 6:56:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码