问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

maven只能用于java?

发布网友 发布时间:2024-09-06 13:53

我来回答

1个回答

热心网友 时间:2024-12-07 08:37

Maven是什么地干活

1关键名词

Project:任何您想build的事物,Maven都可以认为它们是工程。这些工程被定义为工程对象模型(POM,PojectObjectModel)。一个工程可以依赖其它的工程;一个工程也可以由多个子工程构成。

POM:POM(pom.xml)是Maven的核心文件,它是指示Maven如何工作的元数据文件,类似于Ant中的build.xml文件。POM文件位于每个工程的根目录中。

GroupId:groupId是一个工程的在全局中唯一的标识符,一般地,它就是工程名。groupId有利于使用一个完全的包名,将一个工程从其它有类似名称的工程里区别出来。

Artifact:artifact是工程将要产生或需要使用的文件,它可以是jar文件,源文件,二进制文件,war文件,甚至是pom文件。每个artifact都由groupId和artifactId组合的标识符唯一识别。需要被使用(依赖)的artifact都要放在仓库(见Repository)中,否则Maven无法找到(识别)它们。

Dependency:为了能够build或运行,一个典型的Java工程会依赖其它的包。在Maven中,这些被依赖的包就被称为dependency。dependency一般是其它工程的artifact。

Plug-in:Maven是由插件组织的,它的每一个功能都是由插件提供的。插件提供goal(类似于Ant中的target),并根据在POM中找到的元数据去完成工作。主要的Maven插件要是由Java写成的,但它也支持用Beanshell或Ant脚本写成的插件。

Repository:仓库用于存放artifact,它可以是本地仓库,也可以是远程仓库。Maven有一个默认的远程仓库--central,可以从下载其中的artifact。在Windows平台上,本地仓库的默认地址是User_Home/.m2/repository。

Snapshot:工程中可以(也应该)有一个特殊版本,它的版本号包括SNAPSHOT字样。该版本可以告诉Maven,该工程正处于开发阶段,会经常更新(但还未发布)。当其它工程使用此类型版本的artifact时,Maven会在仓库中寻找该artifact的最新版本,并自动下载、使用该最新版。

2MavenBuildLifeCycle

软件项目一般都有相似的开发过程:准备,编译,测试,打包和部署,Maven将上述过程称为BuildLifeCycle。在Maven中,这些生命周期由一系列的短语组成,每个短语对应着一个(或多个)操作;或对应着一个(或多个)goal(类似于Ant中的target)。

如编译源文件的命令mvncompile中的compile是一个生命周期短语。同时该命令也可以等价于mvncompiler:compile,其中的compiler是一个插件,它提供了compile(此compile与mvncompile中的compile意义不同)goal;compiler还可提供另一个goal--testCompile,该goal用于编译junit测试类。

在执行某一个生命周期时,Maven会首先执行该生命周期之前的其它周期。如要执行compile,那么将首先执行validate,generate-source,process-source和generate-resources,最后再执行compile本身。关于Maven中默认的生命周期短语,请见参考资源[6]中的附录B.3。

3标准目录布局

Maven为工程中的源文件,资源文件,配置文件,生成的输出和文档都制定了一个标准的目录结构。Maven鼓励使用标准目录布局,这样就不需要进行额外的配置,而且有助于各个不同工程之间的联接。当然,Maven也允许定制个性的目录布局,这就需要进行更多的配置。关于Maven的标准目录布局,请见参考资源[6]中的附录B.1。

4Maven的优点

[1]build逻辑可以被重用。在Ant中可能需要多次重复地写相同的语句,但由于POM的继承性,可以复用其它的POM文件中的语句。这样既可以写出清晰的build语句,又可以构造出层次关系良好的build工程。

[2]不必关注build工作的实现细节。我们只需要使用一些build生命周期短语就可以达到我们的目标,而不必管Maven是如何做到这些的。如,只需要告诉Maven要安装(install),那么它自然就会验证,编译,打包,及安装。

[3]Maven会递归加载工程依赖的artifact所依赖的其它artifact,而不用显示的将这些artifact全部写到dependency中。

[4]如果完全使用Maven的标准目录布局,那么可以极大地减少配置细节。

5实例

5.1构想

由于只是阐述Maven的基本使用方法,所以本文将要设计的实例,只是一个简单的Mavendemo。该实例包含两个工程:普通应用程序工程(app)和Web应用工程(webapp)。app工程提供一个简单的Java类;webapp工程只包含一个Servlet,并将使用app中的Java类。

该Demo的目标是能够正确地将webapp制成war包,以供部署时使用。要能够正确制作war,自然首先就必须要能够正确的编译源代码,且要将App模块制成jar包。本文创建的工程所在的目录是D:/maven/demo。

5.2App工程

可以使用Maven的archetype插件来创建新工程,命令如下:

D:/maven/demomvnarchetype:create-DgroupId=ce.demo.mvn-DartifactId=app

该工程的groupId是ce.demo.mvn,那么该工程的源文件将放在Java包ce.demo.mvn中。artifactId是app,那么该工程根目录的名称将为app。

当第一次执行该命令时,Maven会从central仓库中下载一些文件。这些文件包含插件archetype,以及它所依赖的其它包。该命令执行完毕后,在目录D:/maven/demo下会出现如下目录布局:

app

|--pom.xml

`--src

|--main

|`--java

|`--ce

|`--demo

|`--mvn

|`--App.java

`--test

`--java

`--ce

`--demo

`--mvn

`--AppTest.java

因本文暂时不涉及JUnit测试,故请将目录app/src/test目录删除。然后再修改App.java文件,其完全内容如下:

packagece.demo.mvn;

publicclassApp{

publicStringgetStr(Stringstr){

returnstr;

}

}

其实,如果我们能够清楚地知道Maven的标准目录布局,就可以不使用archetype插件来创建工程原型;如果我们要定制个性的目录布局,那么就更没有必要使用archetype插件了。

如何用maven将java8写的代码编译为java6平台的

在一般的Java应用开发过程中,开发人员使用Java的方式比较简单。打开惯用的IDE,编写Java源代码,再利用IDE提供的功能直接运行Java程序就可以了。这种开发模式背后的过程是:开发人员编写的是Java源代码文件(.java),IDE会负责调用Java的编译器把Java源代码编译成平台无关的字节代码(bytecode),以类文件的形式保存在磁盘上(.class)。Java虚拟机(JVM)会负责把Java字节代码加载并执行。Java通过这种方式来实现其“编写一次,到处运行(Writeonce,runanywhere)”的目标。Java类文件中包含的字节代码可以被不同平台上的JVM所使用。Java字节代码不仅可以以文件形式存在于磁盘上,也可以通过网络方式来下载,还可以只存在于内存中。JVM中的类加载器会负责从包含字节代码的字节数组(byte[])中定义出Java类。在某些情况下,可能会需要动态的生成Java字节代码,或是对已有的Java字节代码进行修改。这个时候就需要用到本文中将要介绍的相关技术。首先介绍一下如何动态编译Java源文件。

maven是javaweb么

maven和javaweb没有任何关系

Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。

Maven除了以程序构建能力为特色之外,还提供高级项目管理工具。由于Maven的缺省构建规则有较高的可重用性,所以常常用两三行Maven构建脚本就可以构建简单的项目。由于Maven的面向项目的方法,许多ApacheJakarta项目发文时使用Maven,而且公司项目采用Maven的比例在持续增长。

maven怎么优先使用jre系统库

当使用Maven构建Java项目时,默认情况下,Maven会使用项目中指定的JDK版本中的Java库,而不是使用系统中安装的JRE版本中的Java库。如果您希望优先使用系统中的JRE库而不是JDK库,可以按照以下步骤进行配置:

在项目的pom.xml文件中添加以下build配置:

xml

Copycode

build

plugins

plugin

groupIdorg.apache.maven.plugins/groupId

artifactIdmaven-compiler-plugin/artifactId

version3.8.1/version

configuration

forktrue/fork

executable${JAVA_HOME}/bin/javac/executable

compilerVersion11/compilerVersion

source11/source

target11/target

compilerArgs

arg--release/arg

arg11/arg

/compilerArgs

systemPropertyVariables

java.home${env.JAVA_HOME}/java.home

/systemPropertyVariables

/configuration

/plugin

/plugins

/build

在上面的配置中,executable指定了要使用的Java编译器的路径,这里使用了${JAVA_HOME}/bin/javac,即使用环境变量JAVA_HOME指定的JRE路径下的javac命令。systemPropertyVariables指定了要使用的JRE路径,这里使用了环境变量JAVA_HOME。这样,Maven将使用环境变量JAVA_HOME指定的JRE路径中的Java库。

2.确保您的系统中安装了JRE,并设置了环境变量JAVA_HOME,该变量指向JRE的安装路径。您可以通过在命令行窗口中输入echo$JAVA_HOME来检查该变量是否设置正确。

3.在命令行窗口中进入项目的根目录,然后运行以下命令来构建项目:

bash

Copycode

mvncleaninstall

这将使用配置的JRE库来构建项目。

通过以上配置,您可以优先使用系统中的JRE库而不是JDK库来构建Java项目。

maven什么时候学

在学框架的时候一起学。Maven,用于Java项目的构建,依赖管理,项目信息管理的项目管理工具。使用maven可以管理很多个jar包,在学习框架的时候回导入很多包学生很不方便,学这个技术可以很好的帮助管理框架里面的各种包。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
怎么把苹果电脑安装到固态硬盘苹果笔记本可以换成固态硬盘吗_百度知 ... 营转非的车保险和私车一样吗? 功夫不负有心人的观点怎么写 用具体事实说明一个观点比如“功夫不负有心人”“虚心使人进步骄傲使... 我左腿膝盖向上10cm外侧刚发现有个硬的包很疼,表面无异样请问是什么`昨 ... 左腿膝盖外侧酸是怎么回事,右腿没感觉,是缺少什么了吗,以前一般吃几天... 膝盖处外侧皮肤麻木,皮肤容易红,外侧摸关节处略大于右腿同部位关节。去... 灰色冬裙配什么短外套 2024年信用卡诈骗罪是什么样的量刑标准 徐州启星中学好不好在徐州排第几徐州启星中学 兔年属马的运势怎么样 属马人2023年的注意事项 属马的兔年运势,属兔的人今年运势怎样 属鸡和什么属相最旺财运 2024辞退员工赔偿有哪些规定 属鸡的人属什么最旺财运 什么属相给鸡带财运最旺 属鸡配什么财运最好最旺 属鸡配什么生意最旺财运 赤峰到阿尔山最佳路线,赤峰去阿尔山旅游路线 梦见抱紧死去的爸爸哭 昨晚梦见爸爸死了,我抱着死去的爸爸使劲的摇啊哭啊,好伤心。真担心有... 梦见和死去的爸爸抱在一起哭,梦见老公的已故爸爸 梦见抱已故爸爸先笑后哭的预兆 stoneisland是什么牌子知名潮牌代表 烹饪胶东四大拌需要提前做哪些准备? 大海螺肉怎么做才好吃?口感清新,味道鲜甜 开心的句子说说心情 幸福其实很简单 简单快乐的心态句子 值得珍藏让心情美丽的句子 考研医学有何难度? 医学考研分数线五年来最低难道生源质量有所下降? idea有maven插件吗? 每天一个小技术之maven maven安装jar到本地仓库(maven本地安装jar包) mavenspringboot(mavenspringboot插件) MavenJar包冲突?看看高手是怎么解决的 spring模块(spring模块有哪几个部分) IPv4和IPv6何去何从 如何让任务栏始终显示在屏幕顶端? 如何让任务栏不显示在屏幕最上方 如何设置让电脑桌面某个窗口在最前面显示? 怎么让任务栏不显示在屏幕的最下面啊? 平阳县自然地理 全国交通天气最新预报:6月4日高速路况最新实时查询 温州三垟湿地游玩攻略,温州平阳周边旅游景点推荐一下 平阳南雁门票多少 电动三轮上路需要什么手续 日光温室大棚卷帘机的正确安装和使用 五险月交350退休拿多钱 用描写人间情谊的三个成语写一段话 形容人间情谊的成浯。