正确新建maven工程2

简介: 网上看到许多新建maven工程的文章,都比较老了,而且没讲清楚。 尤其是Cannot change version of project facet Dynamic web module to 3.0 这个问题,有些解决办法不是很好。

网上看到许多新建maven工程的文章,都比较老了,而且没讲清楚。

尤其是Cannot change version of project facet Dynamic web module to 3.0 这个问题,有些解决办法不是很好。

下面给大家讲讲如何正确地新建maven工程,以及为什么不能转成Dynamic web module3.0。

假设大家对eclipse都比较熟悉了,话不多说,请看图:


过滤器里输入web。我们要新建一个web工程。





新生成的工程默认的jdk和compiler是1.5的。而且没有src/main/java这样的目录。web.xml里也是2.3的。所以我们第一件事是修改web.xml



<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://xmlns.jcp.org/xml/ns/javaee"
	xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
		http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
	id="WebApp_ID" version="3.1">
	
	<display-name>Archetype Created Web Application</display-name>
</web-app>


然后在这里把这两项取消勾选,点击OK


再次打开这个页面,把这两项勾选上,然后点击Further ocnfiguration available



把默认的编译路径remove掉(这个路径不正确,必须删掉,不然报错)。

换成src/main/java和src/main/resources. 输出路径改为target/classes

这一步结束后,我们的src/main/java目录也自动出现了。




最后就是这个样子的。点击Next


这一步不改成src/main/webapp。默认会生成一个WebContent目录。WebContent目录里的内容跟webapp重复了。我们用webapp即可。


效果图:


再看一下编译路径,很好。是我们要的效果。


JDK也是JavaSE-1.8,是我们要的效果。注意是JDK不是JRE。不要选成JRE


编译器也是1.8的。好的很


但是当我们maven>>update project以后


项目报错了 Dynamic Module 3.1 requires Java 1.7 or newer


JDK又变成一开始默认的1.5了。 这是因为POM.xml里没有配置。





<plugin>
	<artifactId>maven-compiler-plugin</artifactId>
	<version>3.1</version>
	<configuration>
		<source>1.8</source>
		<target>1.8</target>
	</configuration>
</plugin>



 然后在maven>>update project 错误解决了。

最后把编码格式也设置一下,不然有中文的话编译可能会报错。

完整的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>net.csdn</groupId>
  <artifactId>mvn9</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>mvn9 Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <properties>
	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <finalName>mvn9</finalName>
    <plugins>
		<plugin>
			<artifactId>maven-compiler-plugin</artifactId>
			<version>3.1</version>
			<configuration>
				<source>1.8</source>
				<target>1.8</target>
			</configuration>
		</plugin>
<!-- 		<plugin> -->
<!-- 			<artifactId>maven-war-plugin</artifactId> -->
<!-- 			<version>2.4</version> -->
<!-- 		</plugin> -->
	</plugins>
  </build>
</project>

最后,再来看一下部署路径有没有问题。很好,是我们要的效果。



这样一个新的maven工程就建好了,总结一下:

1.出现Cannot change version of project facet Dynamic web module to 3.0 

的原因是我们的web.xml里写错了。从根源上解决问题。

2.maven>>update project之后,jdk和compiler变成了默认的1.5。所以要在pom.xml里配置一下。 不然会报 

Dynamic Web Module 3.1 requires Java 1.7 or newer

3.maven compile 编译的时候报编码的错误。所以要在pom.xml里配置一下project.build.sourceEncoding。

目录
相关文章
|
6月前
|
Java Maven
03Maven - Maven项目工程目录
03Maven - Maven项目工程目录
27 0
|
1月前
|
Java Maven
Maven【2】( Web 工程依赖 Java 工程)(命令行操作)
Maven【2】( Web 工程依赖 Java 工程)(命令行操作)
20 0
|
7月前
|
IDE Java 项目管理
【Maven】Maven的新建、使用、安装配置、集成配置到eclipse,Maven项目测试servlet,Maven容易出现的问题
Maven是一个流行的构建工具和项目管理工具,它能够自动处理项目的编译、依赖管理和构建部署等任务。通过使用Maven,开发人员可以更轻松地管理和构建Java项目,而不必手动解决复杂的依赖关系。Maven是一个Java项目管理工具,它提供了一种结构化的方法来管理项目的构建、依赖、文档和发布等方面的工作。它基于项目对象模型(Project Object Model,POM)的概念,通过配置文件来定义项目的构建和行为。Maven将项目的构建过程自动化,并提供了许多插件和功能来简化开发人员的工作。
|
2月前
|
Java 应用服务中间件 Maven
【Maven从入门到如土】创建 Maven 版的 Web 工程
【Maven从入门到如土】创建 Maven 版的 Web 工程
37 0
|
2月前
|
Java Maven
【Maven从入门到如土】如何在Maven工程中编写代码并执行构建
【Maven从入门到如土】如何在Maven工程中编写代码并执行构建
37 0
|
2月前
|
缓存 Java Maven
【Maven】工程依赖下载失败错误解决
【Maven】工程依赖下载失败错误解决
56 0
|
3月前
|
Java Maven
IntelliJ IDEA 新建/创建Maven Web项目Project
IntelliJ IDEA 新建/创建Maven Web项目Project
35 0
|
3月前
|
Java Maven
IDEA中maven工程下pom.xml的某些依赖按ctrl点不进去
IDEA中maven工程下pom.xml的某些依赖按ctrl点不进去
31 0
|
3月前
|
Java Maven
idea创建纯净的maven项目简单的maven工程
idea创建纯净的maven项目简单的maven工程
|
3月前
|
Java Maven
maven父子工程打包,跳过指定的子工程配置
maven父子工程打包,跳过指定的子工程配置

推荐镜像

更多