0
点赞
收藏
分享

微信扫一扫

如何正确使用eclipse+maven配置java web项目

少_游 2022-04-05 阅读 75

       本文主要探讨如何在eclipse上建立maven项目。

        笔者最近在学习maven,打算在eclipse上配置一个maven项目,用来开发jsp应用。在eclipse上,怎么用maven搭建jsp应用,网上的教程都有,但是这些教程都太过简略,搭建完项目之后,会遇到很多问题。比如,在搭建好maven项目之后,pom.xml会报错。出现诸如org.apache.maven:maven-plugin-api:pom:3.0 failed to transfer from样的错误。同时,你建立的jsp文件也会报错,比如会提示缺少jakarta.servlet.http.HttpServlet类。而这些问题,网上的资料却没有给出解决方案。所以我写下这篇文章,完整地,详细地介绍了一遍如何在eclipse上用maven建立jsp项目,把可能会遇到的问题遇到的问题如何解决,详细地和大家讲解一下。

目录

1.初始工作——如何配置eclipse

1.1配置maven

1.2配置tomcat

2.创建项目

2.1创建项目

2.2编辑pom

3.项目的目录结构

4.运行项目

5.设置输出路径


1.初始工作——如何配置eclipse

1.1配置maven

        以往在eclipse上开发maven,需要用到一个插件,但如今新版本的eclipse里集成了maven,但是在eclipse里创建maven项目之前,还是需要一些设置的。

点击Window->Preference,进入设置页面。在左侧的列表中,找到Maven项。点击Maven项左侧的三角,在下拉菜单中找到User Settings,如图所示:

可以看到这里边的前两个选项。其中Global Settings中输入的是你maven安装目录的配置文件路径。在你的maven安装目录中,会有一个conf文件夹,这个文件夹中有一个settings.xml文件,这个文件的路径就是Global Settings这项中要填的内容。 

比方说我maven安装目录是/home/zhcnyuyang/datas/apache-maven-3.8.5/,那么我只需要在这个目录中,找到conf文件夹,然后进到conf文件夹中,找到settings.xml,这就是Global Settings的路径。所以我需要在Global Settings中输入的路径是/home/zhcnyuyang/datas/apache-maven-3.8.5/conf/settings.xml。

接下来一项是User Settings,这里要填的,是你maven本地仓库中settings.xml的路径。比方说我maven本地仓库是在/home/zhcnyuyang/datas/mavenproj/目录下,那么我User Settings的路径是/home/zhcnyuyang/datas/mavenproj/settings.xml。

至于第三项Local Repository,当你配置好前两项之后,自动就配置好了。

配置完成之后,点击Apply按钮应用设置。

1.2配置tomcat

        开发jsp的时候,需要用到tomcat。tomcat如何安装,在此我就不再赘述。但安装好Tomcat之后,需要在eclipse中配置好Tomcat路径。在Eclipse中配置tomcat路径也是在Window->Preference下。在左侧的列表中,找到Server->Runtime Environment,如图所示。

点击右侧的Add按钮,在弹出的窗口中,可以看到很多款服务器的列表 。其中Tomcat在Apache目录下。在Apache目录中,找到你所使用的Tomcat版本,如图所示。

 然后点击Next进入下一步,如图所示:

 点击Browse,选择Tomcat的安装路径,如图所示:

 

直接选择Tomcat的安装目录即可。

然后点击Finishi,完成配置。

最后退回到Preference窗口后,点击Apply and Close,完成配置。

至此,maven和Tomcat都已经配置完了。现在我们可以创建项目了。 

(注:这些配置好了之后,只在当前的workspace里生效。当你新建了一个新的工作空间后,新工作空间里的各项配置,从编辑器字体,窗口排列,到服务器和maven,都恢复了默认选项,需要重新配置!!!)

2.创建项目

2.1创建项目

点击File->New->Maven Project,如图所示:

直接点next,在接下来的页面中,选择项目的类型,如图所示:

Catalog选择Internal,然后你就可以看到很多选项。由于我们要建立的是web项目,所以我们选择Group Id为org.apache.maven.archetypes,Artifact Id为maven-archetype-webapp的那项,也就是图中所选的那项。之后点击Next,进入下一个页面,如图所示:

输入你的项目的Group Id和Artifact Id,这两者有你自己随意设置。如图所示:

点击Finish,完成项目的创建。但是,目前我们的项目还无法运行,这时候我们需要编辑一下pom.xml文件,安装好插件和依赖。

2.2编辑pom

打开项目中的pom.xml,可以看到如下内容:

可以看到,目前pom.xml中有报错信息,内容为Exception java.lang.ExceptionInInitializerError: Cannot access defaults field of Properties [in thread "Worker-26: Creating maven-archetype-webapp"]。我们首先要做的,是在项目中添加插件。在build标签下,finalName标签之后,添加如下所示内容:

<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
		<artifactId>maven-war-plugin</artifactId>
		<version>3.2.0</version>
    </plugin>
</plugins>

然后保存,我们可以看到pom.xml中的报错消失了。紧接着我们需要做的是添加依赖。maven项目中添加的依赖放在<dependencies>标签下,每一个<dependency>就是一个标签。我们可以看到,项目中已经有了一个名叫junit的依赖了,我们需要在<dependencies>标签中,再添加如下所示的内容:

<dependency>
	<groupId>javax.servlet.jsp.jstl</groupId>
	<artifactId>javax.servlet.jsp.jstl-api</artifactId>
	<version>1.2.1</version>
</dependency>
<dependency>
	<groupId>taglibs</groupId>
	<artifactId>standard</artifactId>
	<version>1.1.2</version>
</dependency>
<dependency>
	<groupId>javax.servlet</groupId>
	<artifactId>javax.servlet-api</artifactId>
	<version>3.1.0</version>
	<scope>provided</scope>
</dependency>
<dependency>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-resources-plugin</artifactId>
	<version>3.2.0</version>
</dependency>

最后,整个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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.yuyang.mvnpractice</groupId>
  <artifactId>mvn0001</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>mvn0001 Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
		<groupId>javax.servlet.jsp.jstl</groupId>
		<artifactId>javax.servlet.jsp.jstl-api</artifactId>
		<version>1.2.1</version>
	</dependency>
	<dependency>
		<groupId>taglibs</groupId>
		<artifactId>standard</artifactId>
		<version>1.1.2</version>
	</dependency>
	<dependency>
		<groupId>javax.servlet</groupId>
		<artifactId>javax.servlet-api</artifactId>
		<version>3.1.0</version>
		<scope>provided</scope>
	</dependency>
	<dependency>
	    <groupId>org.apache.maven.plugins</groupId>
	    <artifactId>maven-resources-plugin</artifactId>
	    <version>3.2.0</version>
	</dependency>
  </dependencies>
  <build>
    <finalName>mvn0001</finalName>
    <plugins>
    	<plugin>
		    <groupId>org.apache.maven.plugins</groupId>
		    <artifactId>maven-war-plugin</artifactId>
		    <version>3.2.0</version>
		</plugin>
    </plugins>
  </build>
</project>

然后我们右键单击项目,执行Maven->Update Project命令,项目更新完成解决方法如下之后,就可以运行jsp文件了。

3.项目的目录结构

我们用maven创建的项目,目录结构如图所示:

 其中src/webapp是你项目的web根目录,你要创建的网页文件都放在这个目录里,相当于Eclipse中Dynamic Web Project项目下的WebContent目录。

在src/main中创建一个java文件夹。然后,你项目中的java文件,像Servlet之类的,都可以放在src/main/java这个目录下。

4.运行项目

右键单击webapp目录,选择New->JSP File,创建一个jsp页面

在新建的jsp页面中随意写一些东西

 

然后执行Run->Run As->Run on Server命令,在弹出的窗口中,选择服务器,如图所示:

 

然后点击Finish,可以看到,新创建的页面在浏览器中顺利运行了。

 

5.设置输出路径

新创建的项目中,虽然可以正常运行jsp页面,但是如果你创建了一个servlet,你会发现当你访问servlet的时候,会提示404错误,解决方法如下:

首先,在项目的src/main/webapp/WEB-INF文件夹下,建立lib和classes两个文件夹,如图所示:

 

然后右键单击项目,选择Build Path->Configure Build Path命令,在打开的窗口中,点击Source选项卡,如图所示:

 

可以看到底部有一个Default out put folder选项,将其路径设置为[你的项目名]/src/main/webapp/WEB-INF/classes,具体可以参考上图。

举报

相关推荐

0 条评论