前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Idea创建maven项目流程、修改默认配置、及注意事项

Idea创建maven项目流程、修改默认配置、及注意事项

原创
作者头像
秋雨
修改2019-07-22 12:20:54
4.2K0
修改2019-07-22 12:20:54
举报
文章被收录于专栏:快乐之路快乐之路

ps:jdk,tomcat,maven,idea已提前安装、配置完毕

这里所演示的环境:

windows7+jdk1.7.0_80+tomcat8.5.41+maven3.0.5+idea2017.3.6

1.idea使用指定maven版本

打开idea,使用快捷键ctrl+alt+s,指定maven版本、本地仓库、本地用户、jdk版本

1.本地安装maven目录。

2.用户配置的目录,这里是我电脑用户存在的地方。

ps:注意第一次配置完成后,用户文件下是并没有 .\m2 文件夹,需要在cmd下运行mvn就可以生成,再将maven安装文件中 .\conf\settings.xml 复制到这个文件中去。如中央仓库、本地仓库的配置

3.本地仓库的地址。这里我设置的本地仓库地址为:E:\workingPlace\maven-repository

4.指定 “JDK for importer” 下的jdk版本

5.指定 “JRE” 下的jre版本

2.idea创建项目

3.maven项目设置

4.部署tomcat

5.运行项目

6.注意事项

6.1.新建项目生成web.xml文件头过时,导致在里面配置会出现错误

方案一(每一个maven项目都需要去配置):

新建项目的web.xml的文件头如下:

代码语言:txt
复制
<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>Archetype Created Web Application</display-name>
</web-app>

修改过后:

代码语言:txt
复制
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
		  http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         version="3.0">
    <display-name>mavenTest</display-name>

    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

</web-app>

方案二(可以解决后面生成的maven项目,不会出现这种情况):

由于新建工程是从仓库中拉取得模板,所以,我们可以直接修改仓库中模板的配置

如图所示,可根据groupId和artifactId定位该资源在本地仓库中的位置,进入资源文件夹后,

上图:在用idea创建web项目时,所做的选择

上图:解压这个文件,并修改里面pom.xml文件,web.xml,index.jsp等文件,并修改成新建成的结构目录,在用winrar打开文件maven-archetype-webapp-1.4.jar,将里面的archetype-resources文件夹删除,在添加解压的archetype-resources文件夹,在重启idea,后面我提供修改的文件,仅供参考

重新创建的项目
重新创建的项目

如上图所示:新建项目默认使用我们修改的pom.xml,web.xml,index.jsp文件的配置,但发现结构文件缺失

下面是我修改的pom.xml、web.xml、index.jsp文件

pom.xml:

代码语言:txt
复制
<?xml version="1.0" encoding="UTF-8"?>

<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>${groupId}</groupId>
  <artifactId>${artifactId}</artifactId>
  <version>${version}</version>
  <packaging>war</packaging>

  <name>${artifactId} Maven Webapp</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
    <maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion>
  </properties>

  <dependencies>
    <!-- junit,servlet,jsp -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>
	<dependency>
	  <groupId>javax.servlet</groupId>
	  <artifactId>javax.servlet-api</artifactId>
	  <version>3.1.0</version>
	  <scope>provided</scope>
	</dependency>
	<dependency>
	  <groupId>javax.servlet.jsp</groupId>
	  <artifactId>jsp-api</artifactId>
	  <version>2.2</version>
	  <scope>provided</scope>
	</dependency>
	
	<!-- fastjson、standard、jstl -->
	<dependency>
	  <groupId>com.alibaba</groupId>
	  <artifactId>fastjson</artifactId>
	  <version>1.2.58</version>
	  <scope>compile</scope>
	</dependency>
	<dependency>
	  <groupId>taglibs</groupId>
	  <artifactId>standard</artifactId>
	  <version>1.1.2</version>
	  <scope>compile</scope>
	</dependency>
	<dependency>
	  <groupId>jstl</groupId>
	  <artifactId>jstl</artifactId>
	  <version>1.2</version>
	  <scope>compile</scope>
	</dependency>
	
	<!-- 数据库相关依赖 -->
	<dependency>
	  <groupId>mysql</groupId>
	  <artifactId>mysql-connector-java</artifactId>
	  <version>5.1.47</version>
	  <scope>runtime</scope>
	</dependency>
  </dependencies>

  <build>
    <finalName>${artifactId}</finalName>
    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
      <plugins>
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.22.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.2.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>

web.xml:

代码语言:txt
复制
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
		  http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         version="3.0">
    <display-name>${artifactId}</display-name>

    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

</web-app>

index.jsp:

代码语言:txt
复制
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
  <title></title>
</head>
<body>
  <h2>Hello World!</h2>
</body>
</html>

6.2.自定义archetype模板

在项目根目录下运行:

mvn archetype:create-from-project

执行完毕之后,会出现一个编译之后新的maven工程(target文件夹)

而后进入进入骨架项目的pom文件目录:

cd target\generated-sources\archetype

执行命令:

mvn clean install

到此骨架安装完毕

在idea中添加模板:

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.idea使用指定maven版本
  • 2.idea创建项目
  • 3.maven项目设置
  • 4.部署tomcat
  • 5.运行项目
  • 6.注意事项
    • 6.1.新建项目生成web.xml文件头过时,导致在里面配置会出现错误
      • 6.2.自定义archetype模板
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档