Maven项目jar/war的搭建流程,问题解决方法

作者: 您好简书 | 来源:发表于2019-05-07 00:55 被阅读18次

Maven 的使用,创建Maven 桌面项目

1.1 选择菜单创建Maven项目

image

1.2 选择项目目录结构的骨架

image

1.3 输入项目相关信息

image

1.4 Maven jar项目的目录结构

image

备注:因为这个步骤必须连接到Maven服务器获取相关信息, 如果配置和网络有故障则这个步骤就会出现错误!
如果出现错误请使用浏览器检测是否能够访问Maven服务器的URL.
2. 创建Maven Web项目
2.1 选择菜单创建Maven项目

image

2.2 选择项目目录结构的骨架

image

2.3 输入项目相关信息

image

2.4 Maven war项目的目录结构

image

备注:因为这个步骤必须连接到Maven服务器获取相关信息, 如果配置和网络有故障则这个步骤就会出现错误!
如果出现错误请使用浏览器检测是否能够访问Maven服务器的URL.
2.5 创建Web部署描述文件web.xml消除检测错误

image

在Eclipse中搜索添加Jar组件"坐标"
Eclipse与Maven配合提供了强大的jar组件集成功能.
1.1 更新Maven库的索引文件
说明:Mavne索引用于搜索jar组件"坐标", 更新索引以后就可以在Eclipse中搜索jar组件"坐标", 但这个功能不是必须的

image

注意:如果更换过Eclipse工作空间, 就需要再次更新Maven索引;
1.2 打开Maven项目中的pom.xml文件

image

1.3 搜索需要jar组件包"坐标"

image

说明:这个搜索功能是利用 1.1步骤更新Maven库的索引文件 的索引完成, 如果没有更新过索引, 这个功能失效!!
1.4 搜索结果就是在pom.xml文件中"坐标", 保存pom.xml时候会自动下载jar组件

image

备注:这个搜索功能是利用 Maven 仓库服务器完成的, 如果不能连接到Maven仓库服务器, 这是会发生错误!!
注意:由于版权的问题, 无法在公共Maven服务器上下载Oracle JDBC Driver
1.5 使用Maven下载的jar组件. 组件保存在本地仓库".m2"文件夹中

image

1.6 如果出现下载故障, 可以在检查Maven仓库正常联通后, 再删除本地仓库".m2"以后"更新Maven 项目"

image

在线搜索添加Jar组件"坐标"
阿里云jar组件"坐标"搜索:
http://maven.aliyun.com/nexus/
1.1 阿里云jar组件"坐标"搜索

image

1.2 搜索结果很多, 选择需要的组件版本, 找到组件"坐标"

image

1.3 将找到组件"坐标" 复制到pom.xml文件中, 保存pom.xml文件时候自动下载jar组件.

image

** 1.4 下载jar组件自动保存在本地库 ".m2" 文件夹.**


image
新建以后,pom.xml出现红叉错误 两种解决 1.添加依赖 2.没生成web.xml 右键鼠标项目--Java EE Tools-----Generate Deployment descriptor stub

配置pom.xml

<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>
  <groupId>com.foreknow</groupId>
  <artifactId>foreknow_cms</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <name>foreknow_cms</name>
  <dependencies>
  <!-- mybatis分页插件依赖 -->
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>4.0.0</version>
</dependency>
        <!-- https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api -->
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>javax.servlet.jsp-api</artifactId>
            <version>2.2.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
        </dependency>

        <dependency>
            <groupId>taglibs</groupId>
            <artifactId>standard</artifactId>
            <version>1.1.2</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>4.2.3.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>4.2.3.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>4.2.3.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>4.2.3.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>

        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.3.0</version>
        </dependency>

        <dependency>
            <groupId>joda-time</groupId>
            <artifactId>joda-time</artifactId>
            <version>2.3</version>
        </dependency>

        <dependency>
            <groupId>c3p0</groupId>
            <artifactId>c3p0</artifactId>
            <version>0.9.1.2</version>
        </dependency>

        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.3.1</version>
        </dependency>

        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.3.3</version>
        </dependency>

        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.3.3</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.25</version>
        </dependency>

        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.3.1</version>
        </dependency>

        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.4</version>
        </dependency>

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.21</version>
        </dependency>

        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.1.7</version>
        </dependency>

        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
            <version>1.1.7</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/taglibs/standard -->
<dependency>
    <groupId>taglibs</groupId>
    <artifactId>standard</artifactId>
    <version>1.1.2</version>
</dependency>
        
    </dependencies>
</project>
  1. 项目配置

1.添加Source Folder

Maven规定,必须创建以下几个Source Folder

src/main/resources

src/main/java

src/test/resources

src/test/java

添加以上的Source Folder

怎么创建maven项目 image.png
  1. 7

创建好后的目录如下:

怎么创建maven项目
  1. 8

2.配置Build Path

怎么创建maven项目
  1. 9

    3.设定4个文件夹的输出Output folder,双击修改

    分别修改输出路径为

    src/main/resources  对应  target/classes

    src/main/java  对应  target/classes

    src/test/resources  对应  target/test-classes

    src/test/java  对应  target/test-classes

    怎么创建maven项目
  2. 10

4.修改后如下图

怎么创建maven项目
image.png

5.打开Navigator视图:window>>Show View,选择Navigator

image

3.在Navigator视图下,打开项目下的.settings目录下的org.eclipse.jdt.core.prefs,把1.5全部改为1.6

image

4. 打开org.eclipse.wst.common.component,把project-version="1.5.0"改成project-version="1.6.0"

image

5. 打开org.eclipse.wst.common.project.facet.core.xml,把<installed facet="java" version="1.5"/>改成<installed facet="java" version="1.6"/>,把 <installed facet="jst.web" version="2.3"/>改成 <installed facet="jst.web" version="2.5"/>

image

到此,已经Dynamic web module 2.3修改成2.5版本

image

Q3:jdk版本不对,默认是jdk1.5,版本过低

Solve:点击项目右键>>properties>>Java Build Path>>Libraries>>JRE System Library>>Edit,

选择当前环境的jdk

image

点击finish>>Apply and Close退出

image

Q4:设置部署程序集(Web Deployment Assembly),部署时的文件发布路径

Solve:点击项目右键>>properties>> Deployment Assembly

image

无报错后 如下图

image.png
问题如果创建的项目是jar 转换成war项目
  1. 将项目转换成Dynamic Web Project
    在项目上右键Properties

在左侧选择 Project Facets,单击右侧的 ”Convert faceted from “


image.png
  1. 8.修改Java为你当前项目的JDK,并添加Dynamic Web Module ,最后单击”Further Configuration available“ 链接:

怎么创建maven项目
  1. 9.修改Content directory 为 src/main/webapp ,单击OK:

    怎么创建maven项目
  2. 10.设置完Content directory,ok后再次点击前一界面ok,完成转换成Dynamic Web Project项目

    怎么创建maven项目

11.设置部署程序集(Web Deployment Assembly)

在项目上右键单击,选择Properties,在左侧选择Deployment Assembly

image.png

12.点击tomcat 在modules页签中,配置好访问的根路劲


image.png image
  1. 12.设置部署时的文件发布路径

    1,我们删除test的两项,因为test是测试使用,并不需要部署。   2,设置将Maven的jar包发布到lib下。     Add -> Java Build Path Entries -> Maven Dependencies -> Finish

    设置完成后如图

    怎么创建maven项目
    comcat服务器运行后访问工程成功!

在服务器端添加项目时:

报错修改:Tomcat version 7.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 and 6 Web

解决:

在eclipse的workspace里面找到该项目。

依次进入:.settings->org.eclipse.wst.common.project.facet.core.xml。

打开文件后,将下面的版本改低一点。

<installed facet="jst.web" version="3.1"/>

image image
创建成功
怎么创建maven项目

相关文章

网友评论

    本文标题:Maven项目jar/war的搭建流程,问题解决方法

    本文链接:https://www.haomeiwen.com/subject/ftlloqtx.html