暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

如何将一个普通的动态工程修改为Maven工程

原创 red_hope 2023-06-22
652

前言

(1)原来的工程为动态网页工程,如下图:

已经开发了数据库的增删改查,用到了JDBC、JSTL、Servlet。

(2)maven的安装,请参考视频《maven-安装及ecplise集成介绍.mp4》,可以联系 113075398  QQ、微信同号。

(3)开发工具:ecplise

第一步:通过右键修改工程属性

方法为:工程名 -->右键–>Configure–>Convert to Maven Project

出现如下界面:

单击“Finish后”,工程变化如下:

多了一个POM.xml,工程也上也多了M的标识,代表maven工程,后面的J 代表java项目。

Maven工程的典型代表为,多了POM文件,该文件配置了工程的相关属性及外部依赖包。

第二步:完善POM.xml

2.1 先看原始的POM.xml

<project 省略了一些默认的属性>

  <modelVersion>4.0.0</modelVersion>

  <groupId>myweb</groupId><!-- 项目所属组织的唯一标识符,使用了原来的工程名 -->

  <artifactId>myweb</artifactId><!-- 项目的唯一标识符,对应项目的名字 -->

 

  <version>0.0.1-SNAPSHOT</version> <!--  Maven 将自动获取最新的快照 -->

  <packaging>war</packaging>  <!--  Maven 打包城市为war包 -->

  <build>

    <sourceDirectory>src</sourceDirectory> <!--  大部分工程的源代码文件夹-->    

    <plugins>   <!--  查件库-->   

      <plugin>

        <!--  maven编译器的查件及版本号-->

        <artifactId>maven-compiler-plugin</artifactId>

        <version>3.8.0</version>

       <!--  查件的扩展配置项-->

        <configuration>

          <source>1.8</source>

          <target>1.8</target>

        </configuration>

      </plugin>

      <plugin>

        <!--  maven打包器的查件及版本号-->

        <artifactId>maven-war-plugin</artifactId>

        <version>3.2.3</version>

        <configuration>

          <warSourceDirectory>WebContent</warSourceDirectory>

        </configuration>

      </plugin>

    </plugins>

  </build>

</project>

2.2 扩展其它包

由于原来的工程用到了servlet和jdbc等包,因此首先应该将jdbc驱动和servlet加入到pom文件中。

所需依赖包,因为使用了阿里云的仓库,从:

https://developer.aliyun.com/mvn/search 搜索。

根据项目需要,增加了如下依赖包,并对每个依赖包的作用进行了描述:

 <dependencies>  

   <!-- 必须依赖的核心包 -->

    <dependency>

      <groupId>org.apache.maven</groupId>

      <artifactId>maven-plugin-api</artifactId>

      <version>2.0</version>

    </dependency>    

 

     <!-- 解决jdbc驱动程序 -->

   <dependency>

     <groupId>mysql</groupId>

     <artifactId>mysql-connector-java</artifactId>

     <version>8.0.9-rc</version>

    </dependency>   

    <!-- 使用到servlet,所有需要引入 --> 

    <dependency>

    <groupId>javax.servlet</groupId>

    <artifactId>javax.servlet-api</artifactId>

    <version>4.0.1</version>

    </dependency>

       

    <dependency>

    <groupId>javax.servlet</groupId>

    <artifactId>jsp-api</artifactId>

    <version>2.0</version>

    </dependency>

  </dependencies>

JDBC URL(参考):

static String url = “jdbc:mysql://127.0.0.1/xxx?user=xxx&password=xxxx&characterEncoding=utf-8&createDatabaseIfNotExist=true&useSSL=false&serverTimezone=UTC”;

另外,为了减少网页中的java代码,我们使用了JSTL标签。所以需要在POM文件中增加JSTL的依赖,用阿里云的gav模式搜索,较为快速:

单击jar包的文件名,弹出pom文件依赖文件:

复制“Maven依赖”,添加到工程的POM文件中即可。

JSTL开发需要用到了两个Jar包:jstl及standard,pom依赖描述文件如下:

jstl jstl 1.2 taglibs standard 1.1.2

依赖文件最终情况如下:

<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">

  <modelVersion>4.0.0</modelVersion>

  <groupId>myweb</groupId> 

  <artifactId>myweb</artifactId>

  <version>0.0.1-SNAPSHOT</version>

  <packaging>war</packaging>

  <build>

    <sourceDirectory>src</sourceDirectory>

    <plugins>

      <plugin>

        <artifactId>maven-compiler-plugin</artifactId>

        <version>3.8.0</version>

        <configuration>

          <source>1.8</source>

          <target>1.8</target>

        </configuration>

      </plugin>

      <plugin>

        <artifactId>maven-war-plugin</artifactId>

        <version>3.2.3</version>

        <configuration>

          <warSourceDirectory>WebContent</warSourceDirectory>

        </configuration>

      </plugin>

    </plugins>

  </build>

  

   <dependencies>  

   <!-- 必须依赖的核心包 -->

    <dependency>

      <groupId>org.apache.maven</groupId>

      <artifactId>maven-plugin-api</artifactId>

      <version>2.0</version>

    </dependency>    

 

     <!-- 解决jdbc驱动程序 -->

   <dependency>

     <groupId>mysql</groupId>

     <artifactId>mysql-connector-java</artifactId>

     <version>8.0.9-rc</version>

    </dependency>   

    <!-- 使用到servlet,所有需要引入 --> 

    <dependency>

    <groupId>javax.servlet</groupId>

    <artifactId>javax.servlet-api</artifactId>

    <version>4.0.1</version>

    </dependency>

     <!-- 使用到servlet,所有需要引入 -->   

    <dependency>

    <groupId>javax.servlet</groupId>

    <artifactId>jsp-api</artifactId>

    <version>2.0</version>

    </dependency>

    <!-- 使用到JSTL、standard所有需要引入 --> 

    <dependency>

    <groupId>jstl</groupId>

    <artifactId>jstl</artifactId>

    <version>1.2</version>

    </dependency>

    

    <dependency>

    <groupId>taglibs</groupId>

    <artifactId>standard</artifactId>

    <version>1.1.2</version>

</dependency>

    

  </dependencies>

</project>

2.3 删除原来手动导入的依赖包

原来WEB-INF下的lib目录下的包,不再需要,可以删除。

同时,在build path(编译路径中)中删除,否则工程会报错。

2.4 现在的Maven依赖包情况

说明:

本工程用到了JDBC、Servlet、JSTL。

第三步:更新Maven工程

工程名称上右键,Maven 项目中有 update project即可。

========================================

最后修改时间:2023-06-22 22:30:04
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论