版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
转自:
Maven-概述1
Maven是什么?1
Maven的历史1
Maven的目标1
约定优先于配置2
Maven-环境搭建2
系统要求2
第1步:验证Java是否安装3
第2步:配置JAVA环境4
第3步:下载Maven安装文件4
第4步:解压Maven安装文件5
第5步:设置Maven的环境变量5
第6步:添加Maven的bin目录到系统路径6
第7步:验证Maven是否正确安装6
Maven-POM7
POM示例7
SuperPOM8
Maven-构建生命周期38
什么是构建生命周期?39
Clean生命周期40
默认生命周期(或构建生命周期)44
1
Site生命周期51
Maven-构建配置文件55
什么是构建配置文件?55
构建配置文件的类型55
配置文件激活56
配置文件激活示例56
显式配置文件激活57
通过Maven设置激活配置文件61
通过环境变量激活配置文件62
通过操作系统激活配置文件63
通过文件的存在或者缺失激活配置文件64
Maven-仓库64
什么是Maven仓库?64
本地仓库65
中央仓库65
远程仓库65
Maven依赖搜索顺序67
Maven-插件67
什么是Maven插件?68
插件类型68
示例69
Maven-创建项目74
2
Maven-构建和测试项目78
添加Java源文件82
Maven-外部依赖84
Maven-项目文档87
Maven-项目模板89
什么是Archetype?90
使用项目模板90
创建好的项目93
创建好的POM.xml文件94
创建好的Afjp.java文件95
创建好的AppTest.java文件96
Maven-快照98
什么是快照?98
项目快照vs版本98
app-ui项目的pom.xml文件98
data-service项目的pom.xml文件100
Maven-自动化构建102
示例102
使用Maven104
将持续集成用于Maven108
Maven-管理依赖108
可传递性依赖发现109
3
依赖作用域(DependencyScope)109
依赖管理(DependencyManagement)110
Maven-自动化部署115
问题说明115
解决方法116
修改项目的POM.xml116
MavenRelease插件118
Maven-Web应用119
创建Web应用119
POM.xml文件121
构建Web应用123
部署Web应用125
测试Web应用125
4
转自:
Maven-概述
Maven是什么?
Maven是一种项目管理和理解工具。Maven向开发者提供了一个完整的构建生
命周期框架。开发团队几乎不用花时间就可以使用自动化构建项目的基础框架,
因为Maven使用了一套标准的目录结构和默认的构建生命周期。
在存在多个开发团队的场景中,Maven可以在很短的时间内按标准建立起工作
方式。因为大多数的项目配置简单并且可重用,Maven简化了开发者在创建报
告,检查,构建和测试自动化配置中的工作。
Maven提供给开发者管理如下过程的方法:
・项目构建(Builds)
•文档(Documentation)
•报告(Reporting)
•项目依赖(Dependencies)
・软件配置管理(SCMs)
•发布(Releases)
•分发(Disthbution)
•邮件列表(mailinglist)
总的来说,Maven简化和统一了项目构建的过程。它无缝地处理项目编译,分
发,文档,团队合作和其他任务,增加了任务处理的重用性,并可以处理大多
数构建相关的任务。
Maven的历史
Maven最初是在JakartaTurbine项目中设计出来,用作简化项目构建步骤。
这个项目有若干子项目并且每个项目包含的ANT构建文件只有些许的差别o项
目中JAR包那时是检入到CVS中。然后Apache组织开发了Maven,它可
以把多个项目一起构建,发布多项目信息,完成多项目部署,在多项目间共享
JAR包并且帮助团队间一起合作。
Maven的目标
Maven主要的1=1标是提供给开发者
1
一种综合全面的模型,对项目来说可以重用,易于维护并且更容易理解
可以与这种声明式模型相互作用的插件或者工具
Maven项目结构和内容声明在一个xml文件中pom.xml,称之为项目对象
模型(POM)。它是整个Maven系统的基本单元。更多信息参考MavenPOM章
节。
约定优先于配置
Maven使用约定优先于配置,这意味着开发者不用自己创建构建流程。
开发者不需要指明每一个配置详情。Maven为项目提供了合理的默认行为。当
创建一个Maven项目时,Maven会创建默认的项目结构。开发者只需要按照
对应地放置文件,而不需要在pom.xml文件中做任何配置。
举个例子,假设${basedir}表示项目路径,下面的表格展示了项目源码文件目
录、资源文件目录和其他配置的默认值:
ItemDefault
sourcecode${basedir}/src/main/java
resources${basedir}/src/main/resources
Tests${basedir}/src/test
Compliedbytecode${basedir}/target
distributableJAR${basedir}/target/classes
为了构建项目,Maven提供给开发者指明生命周期目标和项目依赖(依靠
Maven的插件功能和默认约定实现)的选项。有大量的项目管理和构建相关的
任务是由Maven插件维护的。
Maven-环境搭建
Maven是基于Java的工具,所以首要必须的要求是你的电脑上安装有JDK。
系统要求
2
JDK1.5版本或更高。
内存无最小要求。
硬盘空间无最小要求。
操作系统无最小要求。
第1步:验证Java是否安装
操作系统操作命令
Windows打开命令提示符c:>java-version
Linux打开命令终端$java-version
Mac打开终端machine:-joseph$java-version
让我们来验证下各个操作系统的输出:
操作系统输出
javaversionM1.6.0_21n
Java(TM)SERuntimeEnvironment(build1.6.0_21-b07)
Windows
JavaHotSpot(TM)ClientVM(build17.0-b17,mixedmode,sharing)
javaversion"1.6.0_21*'
Java(TM)SERuntimeEnvironment(build1.6.0_21-b07)
Linux
JavaHotSpot(TM)ClientVM(build17.0-b17,mixedmode,sharing)
javaversion,,1.6.0_21n
Java(TM)SERuntimeEnvironment(build1.6.0_21-b07)
Mac
JavaHotSpot(TM)64-BitServerVM(build17.0-b17,mixedmode,sharing)
3
如果你没有安装Java,请从安装JDK。在此教程中我们假设安装的是Java1.6.0_21
版本。
第2步:配置JAVA环境
设置JAVA_HOME环境变量指向你电脑中Java的安装根目录。示例如下:
操作系统输出
Windows设置环境变量JAVAJHOME为C:\ProgramFiles\Java\jdk1.6.0_21
LinuxexportJAVA_HOME=/usr/local/java-current
MacexportJAVA_HOME=/Library/Java/Home
将Java编译器路径添加到系统路径。
操作系统操作
Windows在系统变量Path后添加字符串;C:\ProgramFiles\Java\jdk1.6.0_21\bin
LinuxexportPATH=$PATH:$JAVA_HOME/bin/
Mac不需要
使用上面提到的java-version命令验证Java安装。
第3步:下载Maven安装文件
从下载Maven2.2.1。
操作系统文件名
Windowsapache-maven-2.2J-bin.zip
Linuxapache-maven-2.2.1-bin.tar.gz
Macapache-maven-2.2.1-bin.tar.gz
4
第4步:解压Maven安装文件
解压Maven的安装文件到你想要的目录。在此过程中,子目录apache-maven-2.2.1将会
被创建。
操作系统路径(根据你的安装方式会有所不同)
WindowsC:\ProgramFiles\ApacheSoftwareFoundation\apache-maven-2.2.1
Linux/usr/local/apache-maven
Mac/usr/local/apache-maven
第5步:设置Maven的环境变量
向环境变量中添加M2_HOME,M2,MAVEN_OPTS变量.
操作系统路径(根据你的安装方式会有所不同)
使用系统属性设置环境变量。
M2_HOME=C:\ProgramFiles\ApacheSoftware
Foundation\apache-maven-2.2.1
Windows
M2=%M2_HOME%\bin
MAVEN_OPTS="Xms256m-Xmx512m
打开命令终端设置环境变量。
exportM2_HOME=/usr/local/apache-maven/apache-maven-2.2.1
Linux
exportM2=$M2_HOM曰bin
exportMAVEN_OPTS=-Xms256m-Xmx512m
打开命令终端设置环境变量。
MacexportM2_HOME=/usr/local/apache-maven/apache-maven-2.2.1
exportM2=$M2_HOM曰bin
5
操作系统路径(根据你的安装方式会有所不同)
exportMAVEN_OPTS=-Xms256m-Xmx512m
第6步:添加Maven的bin目录到系统路径
现在添加变量M2到系统目录中
操作系统操作
Windows在系统变量Path后添加字符串;%M2%
LinuxexportPATH=$M2:$PATH
MacexportPATH=$M2:$PATH
第7步:验证Maven是否正确安装
现在打开终端命令行,然后执行下面的mvn命令。
操作系统操作命令
Windows打开命令提示符c:>mvn-version
Linux打开命令终端$mvn-version
Mac打开终端machine:-joseph$mvn-version
最后来验证上述命令的输出,内容应该如下:
操作系统输出
ApacheMaven2.2.1(r801777;2009-08-0700:46:01+0530)
Javaversion:1.6.0_21
Windows
Javahome:C:\ProgramFiles\Java\jdk1.6.0_21\jre
6
操作系统输出
ApacheMaven2.2.1(r801777;2009-08-0700:46:01+0530)
Javaversion:1.6.0_21
Linux
Javahome:C:\ProgramFiles\Java\jdk1.6.0_21\jre
ApacheMaven2.2.1(r801777;2009-08-0700:46:01+0530)
Javaversion:1.6.0_21
Mac
Javahome:C:\ProgramFiles\Java\jdk1.6.0_21\jre
Maven-POM
POM意为项目对象模型(ProjectObjectModel),是Maven中基本单元。它是一个名为
pom.xml的XML文件,总是存在于项目的更目录下。
POM包含了项目相关的信息和Maven用来构建一个或多个项目的各种配置详情。
POM也包含了各种目标操作(goal)和插件。当执行一个任务或者目标操作时,Maven会查
找当前目录下的POMoMaven读取POM,从中获得需要的配置信息,然后执行目标操作。
部分Maven可以从POM中明确的配置列出如下:
•项目依赖(projectdependencies)
•插件(plugins)
•目标操作(goals)
•构建(buildprofiles)
•项目版本(projectversion)
•开发者(developers)
•邮件列表(mailinglist)
在创建一个POM之前,我们首先应该决定项目组织(groupld),项目命名(artifactld)
和项目版本,因为这些属性信息可以帮助我们在项目仓库中唯一确定一个项目。
POM示例
<projectxmlns="
xmlns:xsi="
7
xsi:schemaLocation="
>
<modelVersion>4.0.0</modelversion>
<groupld>ject-group</groupld>
<artifactld>project</artifactld>
<version>l.0</version>
</project>
要注意的是每个项目需要有唯一的POM文件。
所有的POM文件要求有projec节点和三个必须字段:groupld,artifactld,versiono
在仓库中项目的标识为groupld:artifactld:versiono
POM.xml的根节点是project并且其下有三个主要的子节点:
节点描述
项目组织的Id。通常在一个项目或者一个组织之中,这个Id是唯一的。例如,某个
groupld
Id为pany.bank的银行组织包含所有银行相关的项目。
项目的Id,通常是项目的名字。例如,consumer-bankingoartifactld与groupld一
artifactld
起定义了仓库中项目构件的路径。
项目的版本。它与groupld一起,在项目构件仓库中用作区分不同的版本,例如:
version
pany.bank:consumer-banking:1.0
pany.bank:consumer-banking:1.1.
SuperPOM
8
所有的POM都继承一个父类POM(不管是显示定义继承的还是没有显示定义的)。这个
基础的POM被称为超类POM(SuperPOM),它包含了POM默认继承的属性值。
Maven使用有效的POM(effectivepom,其配置来源于超类POM加上项目配置)来执
行相关的目标操作。这能帮助开发者在他/她的pom.xml中识别出最小量的配置详情,虽
说起来配置覆盖也非常地容易。
一个简单的查看超类POM的默认配置的方法是裕兴如下的命令:mvn
help:effective-pom
在你的电脑任意目录下创建一个pom.xml文件,内容使用上面提到的pom示例中的。
在展示下面的例子前,我们已经在C:\MVN\project文件夹中创建了一个pom.xml文件。
现在打开命令控制台,去到包含pom.xml的文件夹,然后执行下面的mvn命令。
C:\MVN\project>mvnhelp:effective-pom
Maven将开始处理并显示有效的pom(effective-pom).
[INFO]Scanningforprojects...
[INFO]Searchingrepositoryforpluginwithprefix:'help'.
[INFO]
[INFO]BuildingUnnamed-ject-group:project-name:jar:1.0
[INFO]task-segment:[help:effective-pom](aggregator-style)
[INFO]
[INFO][helpeffective-pom{execution:default-cli}]
[INFO]
[INFO]
[INFO]BUILDSUCCESSFUL
9
[INFO]
[INFO]Totaltime:<1second
[INFO]Finishedat:ThuJul0511:41:511ST2012
[INFO]FinalMemory:6M/15M
[INFO]
EffectivePOM在继承(inheritance)、插值(interpolation)和使用配置(profileapplying)
后,展示的就如控制台中的结果一样。
<?xmlversion="1.0"encoding="UTF-8"?>
<!---->
<!--GeneratedbyMavenHelpPluginon2012-07-05Tll:41:51-->
<!See:-->
<!---->
<!
<!--
<!--EffectivePOMforproject
<!'ject-group:project-name:jar:1.0'
<!--
<!>
<projectxmlns=""xmlns:xsi=
10
2001/XMLSchema-instance"xsi:schemaLocation="h
<modelVersion>4.0.0</modelVersion>
<groupld>ject-group</groupld>
<artifactld>project</artifactld>
<version>1.0</version>
<build>
<sourceDirectory>C:\MVN\project\src\main\java</sourceDirectory>
<scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>
<testSourceDirectory>C:\MVN\project\src\test\java</testSourceDirectory>
<outputDirectory>C:\MVN\project\target\classes</outputDirectory>
<testOutputDirectory>C:\MVN\project\target\test-classes</testOutputDirectory>
<resources>
<resource>
<mergeId>resource-0</mengeId>
<directory>C:\MVN\project\src\main\resources</directory>
</resource>
</resources>
<testResources>
<testResource>
<mergeld>resource-l</mergeld>
<directory>C:\MVN\project\src\test\resources</directory>
11
</testResource>
</testResources>
<directory>C:\MVN\project\target</directory>
<finalName>project-1.0</finalName>
<pluginManagement>
<plugins>
<plugin>
<artifactld>maven-antrun-plugin</artifactld>
<version>1.3</version>
</plugin>
<plugin>
<artifactld>maven-assembly-plugin</artifactld>
<version>2.2-beta-2</version>
</plugin>
<plugin>
<artifactld>maven-clean-plugin</artifactld>
<version>2.2</version>
</plugin>
<plugin>
<artifactld>maven-compiler-plugin</artifactld>
<version>2.0.2</version>
</plugin>
12
<plugin>
<artifactld>maven-dependency-plugin</artifactld>
<version>2.0</version>
</plugin>
<plugin>
<artifactld>maven-deploy-plugin</artifactld>
<version>2.4</version>
</plugin>
<plugin>
<artifactld>maven-ear-plugin</artifactld>
<version>2.3.1</version>
</plugin>
<plugin>
<artifactld>maven-ejb-plugin</artifactld>
<version>2.l</version>
</plugin>
<plugin>
<artifactld>maven-install-plugin</artifactld>
<version>2.2</version>
</plugin>
<plugin>
<artifactld>maven-jar-plugin</artifactld>
13
<version>2.2</version>
</plugin>
<plugin>
<artifactld>maven-javadoc-plugin</artifactId>
<version>2.5</version>
</plugin>
<plugin>
<artifactld>maven-plugin-plugin</artifactId>
<version>2.4.3</version>
</plugin>
<plugin>
<artifactld>maven-rar-plugin</artifactld>
<version>2.2</version>
</plugin>
<plugin>
<artifactld>maven-release-plugin</artifactld>
<version>2.0-beta-8</version>
</plugin>
<plugin>
<artifactld>maven-resources-plugin</artifactld>
<version>2.3</version>
</plugin>
14
<plugin>
<artifactld>maven-site-plugin</artifactld>
<version>2.0-beta-7</version>
</plugin>
<plugin>
<artifactld>maven-source-plugin</artifactld>
<version>2.0.4</version>
</plugin>
<plugin>
<artifactld>maven-surefire-plugin</artifactld>
<version>2.4.3</version>
</plugin>
<plugin>
<artifactld>maven-war-plugin</artifactld>
<version>2.1-alpha-2</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<artifactld>maven-help-plugin</artifactld>
<version>2.1.1</version>
15
</plugin>
</plugins>
</build>
<repositories>
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>MavenRepositorySwitchboard</name>
<url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<releases>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
16
<name>MavenPluginRepository</name>
<url>
</pluginRepository>
</pluginRepositories>
<reporting>
<outputDirectory>C:\MVN\project\target/site</outputDirectory>
</reporting>
</project>
在上面的pom.xml中,你可以看到项目默认的源文件目录结构,输出路径,需要的插件,
报告目录,这些信息Maven在执行期望的目标操作时都会用到。
Maven的pom.xml也不要求手动写。
1.<projectxmlns=""
2.xmlns:xsi=""
3.xsi:schemaLocation:””>
4.<!--父项目的坐标。如果项目中没有规定某个元素的值,那么父项
目中的对应值即为项目的默认值。坐标包括groupID,artifactID和v
ersiono-->
5.<parent>
6.<!一被继承的父项目的构件标识符-->
7.<artifactId/>
8.<!--被继承的父项目的全球唯一标识符-->
9.<groupId/>
10.<!--被继承的父项目的版本-->
11.<version/>
12.<!--父项目的pom.xml文件的相对路径。相对路径允许你选择一
个不同的路径。默认值是../pom.xml。Maven首先在构建当前项目的地方
寻找父项目的pom,其次在土件系统的这个位置(relativePath位置),
然后在本地仓库,最后在远程仓库寻找父项目的pom。-->
13.<relativePath/>
17
14.</parent>
15.<!--声明项目描述符遵循哪一个POM模型版本。模型本身的版本很少改
变,虽然如此,但它仍然是必不可少的,这是为了当Maven引入了新的特
性或者其他模型变更的时候,确保稳定性。-->
16.<modelVersion>4.0.0</modelVersion>
17.<!一项目的全球唯一标识符,通常使用全限定的包名区分该项目和
其他项目。并且构建时生成的路径也是由此生成,如com.mycompany.叩
p生成的相对路径为:/com/mycompany/app-->
18.<groupld>asia.banseon</groupld>
19.<!--构件的标识符,它和groupID一起唯一标识一个构件。换句
话说,你不能有两个不同的项目拥有同样的artifact工D和groupID;在
某个特定的groupID下,artifactID也必须是唯一的。构件是项目产
生的或使用的一个东西,Maven为项目产生的构件包括:JARs,源码,二
进制发布和WARS等。-->
20.<artifactld>banseon-maven2</artifactld>
21.<!--项目产生的构件类型,例如jar、war、ear>pom。插件可以
创建他们自己的构件类型,所以前面列的不是全部构件类型-->
22.<packaging>jar</packaging>
23.<"-项目当前版本,格式为:主版本.次版本.增量版本-限定版本号
24.<version>l,0-SNAPSHOT</version>
25.<!--项目的名称,Maven产生的文档用-->
26.<name>banseon-maven</name>
27.<!--项目主页的URL,Maven产生的文档用-->
28.<url>
29.<!--项目的详细描述,Maven产生的文档用。当这个元素能够
用HTML格式描述时(例如,CDATA中的文本会被解析器忽略,就可以包含
HTML标签),不鼓励使用纯文本描述。如果你需要修改产生的web站点
的索引页面,你应该修改你自己的索引页文件,而不是调整这里的文档。-
30.<description>Amavenprojecttostudymaven.</descrip
tion>
31.<!--描述了这个项目构建环境中的前提条件。一〉
32.<prerequisites>
33.<!一构建该项目或使用该插件所需要的Maven的最低版本一>
34.<maven/>
35.</prerequisites>
18
36.<!--项目的问题管理系统(Bugzilla,lira,Scarab,或任何你喜欢
的问题管理系统)的名称和URL,本例为jira-->
37.<issueManagement>
38.<!--问题管理系统(例如jira)的名字,-->
39.<system>jira</system>
40.<!--该项目使用的问题管理系统的URL-->
41.<url>
42.</issueManagement>
43.<!贝目持续集成信息
44.<ciManagement>
45.<!--持续集成系统的名字,例如continuum-->
46.<system/>
47.<!--该项目使用的持续集成系统的URL(如果持续集成系统有web接
口的话)。-->
48.<url/>
49.<!--构建完成时,需要通知的开发者/用户的配置项。包括被通知者信
息和通知条件(错误,失败,成功,警告)-->
50.<notifiers>
51.<!--配置一种方式,当构建中断时,以该方式通知用户/开发者-
->
52.<notifier>
53.<!--传送通知的途径-->
54.<type/>
55.<!--发生错误时是否通知-->
56.<sendOnError/>
57.<!--构建失败时是否通知-->
58.<sendOnFailure/>
59.<!--构建成功时是否通知-->
60.<sendOnSuccess/>
61.<!--发生警告时是否通知-->
62.<sendOnWarning/>
63.<!--不赞成使用。通知发送到哪里一〉
64.<address/>
65.<!--扩展配置项-->
66.<configuration/>
19
67.</notifier>
68.</notifiers>
69.</ciManagement>
70.<!--项目创建年份,4位数字。当产生版权信息时需要使用这个值。-
->
71.<inceptionYear/>
72.<!--项目相关邮件列表信息-->
73.<mailingLists>
74.<!--该元素描述了项目相关的所有邮件列表。自动产生的网站引用
这些信息。-->
75.<mailingList>
76.<!--邮件的名称-->
77.<name>Demo</name>
78.<!--发送邮件的地址或链接,如果是邮件地址,创建文档
时,mailto:链接会被自动创建-->
79.<post>banseon@</post>
80.<!--订阅邮件的地址或链接,如果是邮件地址,创建文档
时,mailto:链接会被自动创建-->
81.<subscribe>banseon@</subscribe>
82.<!--取消订阅邮件的地址或链接,如果是邮件地址,创建
文档时,mailto:链接会被自动创建-->
83.<unsubscribe>banseon@</unsubscribe>
84.<!--你可以浏览邮件信息的URL-->
85.<archive>http:/
86.</mailingList>
87.</mailingLists>
88.<!--项目开发者列表-->
89.<developers>
90.<!--某个项目开发者的信息-->
91.<developer>
92.<!--SCM里项目开发者的唯一标识符-->
93.<id>HELLOWORLD</id>
94.<!--项目开发者的全名-->
95.<name>banseon</name>
96.<!--项目开发者的email-->
20
97.<email>banseon@</email>
98.<!--项目开发者的主页的URL-->
99.<url/>
100.<!--项目开发者在项目中扮演的角色,角色元素描述了各
种角色-->
101.<roles>
102.<role>ProjectManager</role>
103.<role>Architect</role>
104.</roles>
105.<!--项目开发者所属组织
106.<organization>demo</organization>
107.<!--项目开发者所属组织的URL-->
108.<organizationllrl>
109.<!--项目开发者属性,如即时消息如何处理等-->
110.<properties>
111.<dept>No</dept>
112.</properties>
113.<!--项目开发者所在时区,-11到12范围内的整数。-
->
114.<timezone>-5</timezone>
115.</developer>
116.</developers>
117.<!--1贝目的其他贡献者列表-->
118.<contributors>
119.<!--项目的其他贡献者。参见developers/deve
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026安徽黄山市屯溪区人民医院招聘编外紧缺人才备考题库及参考答案详解(轻巧夺冠)
- 航运安全生产责任制度
- 英语机构安全责任制度
- 菌种管理责任制度
- 落实防汛责任制度
- 街道安监站责任制度
- 装饰项目经理责任制度
- 计量服务责任制度
- 设备外出责任制度
- 财会岗位责任制度
- 人音版小学六年级音乐下册全册教案【完整版】
- 四川省省属卫生事业单位公开招聘卫生专业技术岗位人员公共科目笔试大纲
- 船舶液压系统常见故障分析及解决方案
- 2023年中级注册安全工程师《安全生产专业实务(建筑施工安全)》真题及答案
- THSPP 0010-2023 欧标茶生产茶园栽培技术规程
- 延安永康330kV变电站主变扩建工程环评报告
- 危化品考试题库及答案参考
- 1213 日本当代建筑的坡屋顶的知识
- 情感性精神障碍患者的护理
- LY/T 2242-2014自然保护区建设项目生物多样性影响评价技术规范
- GB/T 33172-2016资产管理 综述、原则和术语
评论
0/150
提交评论