正确新建maven工程2

网上看到许多新建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。

时间: 2024-09-04 03:27:08

正确新建maven工程2的相关文章

Java EE7和Maven工程入门(2)

本文由 ImportNew - 陈 显鹭 翻译自 javacodegeeks.欢迎加入翻译小组.转载请见文末要求. 目录 一个简单Maven工程的结构 建立一个简单的WAR工程 先来回顾一下第一部分 我们已经建立了父pom文件.这种特殊类型的文件用来定义我们项目即将使用的类库,它也配置了所有为了打包项目的每个模块而使用的maven工具.你可以检出第一部分代码 . 所以,直到现在我们开发的项目目录中我们只有一个叫做sample-parent的文件夹.而且在这个目录中包括pom.xml文件--这就是

Java EE7和Maven工程入门(1)

本文由 ImportNew - miracle1919 翻译自 javacodegeeks.欢迎加入翻译小组.转载请见文末要求. 目录 一个简单Maven工程的结构 为什么? 在日常工作中,我经常需要解决许多简单的或者是复杂的Maven/Java EE工程结构的问题.为了找到解决办法,我经常要拿项目的结构做实验,在不同应用服务器上对部署进行测试并且调优. 对新手来说,Maven可能有一个很漫长的学习曲线.如果你参与进一个经常需要非常复杂的配置的现代化的JavaEE应用的时候,事情会变得更糟.在我

1.Maven+SpringMVC+Eclipse软件安装配置,Maven报插件错误,Eclipse总是卡死的解决办法,导入一个maven工程后 一直显示importing maven project

 使用Maven+SpringMVC+Eclipse软件安装配置过程中的问题:   1.Eclipse总是卡死的解决办法: 一:内存不足所以会卡死,配置一下eclipse.ini修改这几个值就好了-XX:MaxPermSize=768m-Xms1024m-Xmx3072m搜索   二:修改window->preferences --- > JAVA->Edittor->Hovers,将右侧所有复选框清空.   2.因为eclipse上一次未正常关闭,导致启动卡死,错误日志为:

myeclipse的maven工程怎么导入到eclipse?

问题描述 myeclipse的maven工程怎么导入到eclipse? 如题,小弟一直用eclipse做maven项目,但是来个同事用Myeclipse建了个maven项目,我导入到我eclipse上死活都出错,求大神解答如何将myeclipse的maven工程正确导入到eclipse中 解决方案 如何myeclipse导入到eclipse中maven创建web工程,并导入到eclipse中 解决方案二: 按理说myeclipse和eclipse是一样的啊,eclipse项目安装了maven插件

MyEclipse新建Web工程需要注意的问题

MyEclipse新建Web工程需要注意的问题                                                               帅宏军          使用Java语言开发Web项目,优选工具当然是MyEclipse.在使用它建立和管理Web工程时会遇到一些问题,需要引起我们的注意.在开发工作中予以避免或者解决. 一.注意编译路径      在新建工程过程中,会看到如下的一个窗口,这个窗口很重要,它的作用是.          1.控制哪些源码参与编

在eclipse中新建Android工程出现错误提示

在eclipse中新建Android工程,却出现了r cannot be resolved to a variable android的提示.从提示中可以看出是R.java资源文件没有生成,但是具体如何修改没有提示.看到了stackoverflow中的相同问题,问题的回复中给出了一个解答. 具体的解决办法就是在project->properties中侧边栏中选择Java Build Path,之后将相应的android sdk的版本的复选框勾上就可以了.这个问题应该是由eclipse本身带来的,

avd-Adroid中如何让新建的工程识别出已有的AVD

问题描述 Adroid中如何让新建的工程识别出已有的AVD 背景:我的工作空间内有已有两个工程 问题:右键工程Run As ---> Run Configurations---->选择Target,里面没有已建的AVD,怎样才能显示已有的AVD? 解决方案 可能是你的项目sdk版本高于模拟器版本 还有就是可能你的avd没有与eclipse关联 做法应该是点击eclipse上面的windows 然后再点击avd manager 最后再新建大于等于项目sdk版本的模拟器

在eclipse中搭建maven工程(第二种方法)

第一种方法见前面的博客 用Maven创建web项目(详细步骤) maven-3.3.9 下载之后就是配置环境变量,可以去百度一哈,用MAVEN_HOME配置,我图方便,直接在用户的path配置的. 接下来我们修改我们本地的Maven仓库.默认本地仓库位置为:~.m2\repository,其中~表示当前用户的家目录,例如:C:\Users[你当前登录系统的用户名]. 我们现在自定义其位置:进入D:\java\maven-3.3.9\conf,打开settings.xml,在根标签settings

maven工程怎么使用自动生成的Mapper

问题描述 maven工程怎么使用自动生成的Mapper maven工程怎么使用自动生成的Mapper?需要配置什么东西么? 明明看得到那个文件可就是显示找不到 解决方案 POM中增加配置 <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> &l