前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Maven创建工程 原

使用Maven创建工程 原

作者头像
云飞扬
发布2019-03-13 10:16:42
6400
发布2019-03-13 10:16:42
举报
文章被收录于专栏:星汉技术星汉技术

Maven可以创建Java工程,也可以创建Java Web工程,下面详细介绍一下。

注意:以下演示使用的是JDK1.7版本,不要与上一篇博客搞混,自己安装的哪个版本的JDK,就使用哪个版本的JDK。

一、创建Java工程

1、New项目

右键new other,搜索Maven,在Maven目录下选择Maven Project,点击Next,如下图:

2、选择项目名称和空间

选择项目要使用的东西,只勾选User default Workspace location,另外两个不做勾选。如图有选项的解释。 骨架:相当于是项目模板。如下图:

3、选择骨架

这里我们要创建的是Java项目,所以选择quickstart结尾的骨架,然后next。如下图:

4、设置项目坐标

Group Id:项目分组ID,其实就是包名。 Artifact Id:项目名称 Version:项目版本号。 Package:包名,根据上面的group id 和Artifact id 自动生成,不用填写。 这些信息填写完成,点击Finish。

SNAPSHOT:快照版本。不稳定版本,经常涉及修改的版本,可能一天都会修改多个版本。 RELEASE:发布版本。稳定版本,没有项目更新和bug的版本,如果后期生产环境下出现bug或有新的功能,需要发布新的 Release版本。 第一次创建工程会花费一段时间,因为骨架也需要下载依赖文件。

5、修改项目JDK版本

由于Maven工具本身的原因,新创建的项目默认都使用的是1.5版本的JDK,这就需要我们自己手动修改一下JDK以及JRE的版本。

1.修改JRE版本

在工程上右键,选择Properties,出现如图界面,然后选择Java build Path,在Libraries中找到JRE选中,点击Edit,进行编辑了,选中自己安装的JRE,点击Finish,点击OK,即可修改完成。

2.修改JDK版本

在如图界面,找到Java Compiler,将JDK版本改到自己安装的版本,点击OK即可。

6.修改eclipse视图

将Eclipse的目录视图改成包视图,在window-showview中,修改成如下视图。

二、创建Web工程

1、创建web工程

创建web项目和Java项目前面的步骤都一样,只是在选择项目骨架的时候,选择web项目骨架即可。当项目创建完成之后,步骤有所不同。Web项目需要修改JRE版本,JDK版本,Maven中Project Facets中Java的版本。如下图:

2、关闭校验

因为Eclipse中的校验级别很高,常常会无端的报错,这里建议将所有的校验给关闭。如图操作。

3、目录结构

main目录下是项目的主要代码。 src/main/java下存放Java代码。 src/main/resources下存放配置文件。 test目录下存放测试相关的代码。 target目录下存放编译输出后的代码。 webapp下存放Web应用相关代码。 pom.xml是Maven项目的配置文件。

三、配置文件pom.xml

因为这个配置文件是Maven的核心,因此有必要详细解读一下pom.xml,来先看一下上面的几个:

1、modelVersion

指定了当前Maven模型的版本号,对于Maven2和Maven3来说,它只能是4.0.0

2、groupId

顾名思义,这个应该是公司名或是组织名。一般来说groupId是由三个部分组成,每个部分之间以"."分隔,第一部分是项目用途,比如用于商业的就是"com",用于非营利性组织的就是"org";第二部分是公司名,比如"tengxun"、"baidu"、"alibaba";第三部分是你的项目名。

3、artifactId

可以认为是Maven构建的项目名,比如你的项目中有子项目,就可以使用"项目名-子项目名"的命名方式

4、version

版本号,SNAPSHOT意为快照,说明该项目还在开发中,是不稳定的版本。在Maven中很重要的一点是groupId、artifactId、version三个元素生成了一个Maven项目的基本坐标,这非常重要。

5、其他

在上面的这些元素之外,还有一些元素,同样罗列一下:

1.packing

项目打包的类型,可以使jar、war、rar、ear、pom,默认是jar

2.dependencies和dependency

前者包含后者。前面说了,Maven的一个重要作用就是统一管理jar包,为了一个项目可以build或运行,项目中不可避免的,会依赖很多其他的jar包,在Maven中,这些依赖就被称为dependency。

3.properties

properties是用来定义一些配置属性的,例如project.build.sourceEncoding(项目构建源码编码方式),可以设置为UTF-8,防止中文乱码,也可定义相关构建版本号,便于日后统一升级。

4.build

build表示与构建相关的配置,比如build下有finalName,表示的就是最终构建之后的名称。

6、示例

下面是阿里DATAX的一个pom文件,拿过来给大家当作示例展示。

代码语言:javascript
复制
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>com.alibaba.datax</groupId>
        <artifactId>datax-all</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>

    <artifactId>datax-core</artifactId>
    <name>datax-core</name>
    <packaging>jar</packaging>

    <dependencies>
        <dependency>
            <groupId>com.alibaba.datax</groupId>
            <artifactId>datax-transformer</artifactId>
            <version>${datax-project-version}</version>
            <exclusions>
                <exclusion>
                    <artifactId>slf4j-log4j12</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>commons-configuration</groupId>
            <artifactId>commons-configuration</artifactId>
            <version>${commons-configuration-version}</version>
        </dependency>
        <dependency>
            <groupId>commons-cli</groupId>
            <artifactId>commons-cli</artifactId>
            <version>${commons-cli-version}</version>
        </dependency>
        <dependency>
            <groupId>commons-beanutils</groupId>
            <artifactId>commons-beanutils</artifactId>
            <version>1.9.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.4</version>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>fluent-hc</artifactId>
            <version>4.4</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
        </dependency>
        <dependency>
            <groupId>org.codehaus.janino</groupId>
            <artifactId>janino</artifactId>
            <version>2.5.16</version>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <version>1.8.5</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.powermock</groupId>
            <artifactId>powermock-api-mockito</artifactId>
            <version>1.4.10</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.powermock</groupId>
            <artifactId>powermock-module-junit4</artifactId>
            <version>1.4.10</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.3.2</version>
        </dependency>
        <dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-all</artifactId>
            <version>2.1.9</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>com.alibaba.datax.core.Engine</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>

            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>com.alibaba.datax.core.Engine</mainClass>
                        </manifest>
                    </archive>
                    <finalName>datax</finalName>
                    <descriptors>
                        <descriptor>src/main/assembly/package.xml</descriptor>
                    </descriptors>
                </configuration>

                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <!-- compiler plugin -->
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                    <encoding>${project-sourceEncoding}</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

四、利用Maven引入三方框架

1、查找框架坐标

可以从框架官网查找,或前往maven的官方仓库查找:http://mvnrepository.com/ 把坐标写到pom.xml文件中的 <dependcies>内部。如下图:

2、Jar下载

写完坐标之后保存时,会自动下载pom文件中配置好的框架及框架的依赖jar包。

3、Jar包保存

下载下来的文件存放在本地仓库中:

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018/08/18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、创建Java工程
    • 1、New项目
      • 2、选择项目名称和空间
        • 4、设置项目坐标
          • 5、修改项目JDK版本
            • 1.修改JRE版本
            • 2.修改JDK版本
        • 二、创建Web工程
          • 1、创建web工程
            • 2、关闭校验
              • 3、目录结构
              • 三、配置文件pom.xml
                • 1、modelVersion
                  • 2、groupId
                    • 3、artifactId
                      • 4、version
                        • 5、其他
                          • 1.packing
                          • 2.dependencies和dependency
                          • 3.properties
                          • 4.build
                        • 6、示例
                        • 四、利用Maven引入三方框架
                          • 1、查找框架坐标
                            • 2、Jar下载
                              • 3、Jar包保存
                              领券
                              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档