maven的动态web项目从搭建到运行完整示例(dark亲测可用)

原文地址点击此处


当前eclipse版本为 neon3 、jdk为1.8.25 、tomcat为8.5

需求表均同spring案例

此处只是使用maven

注意,以下所有需要建立在你的eclipse等已经集成配置好了maven了,说白了就是新建项目的时候已经可以找到maven了

没有的话需要安装maven

1.新建maven项目,由于当前版本的eclipse自带maven插件,如下图所示。如果没有请自行百度安装maven插件



2,进入maven项目之后,点击next



选择webapp之后  next



输入两个id  package可以不写,是它默认帮你新建一个包,不写没关系



会生成一个这样目录的项目



2,配置maven

首先新建几个文件夹

2.1 添加Source文件夹

接下来需要添加

src/main/java

src/test/java 

src/test/resources三个文件夹

右键项目根目录点击New -> Source Folder,

建出这三个文件夹。注意不是建普通的Folder,而是Source Folder

项目或者文件加上右键 new  sourceFolder,正常情况下是没有问题的

如果出现了下面的这情况,其实是真的存在的只是我们看不到



项目右键属性





修改jdk为你使用的jdk,比如我自己的就是1.8.025



设置完毕之后自然会发现src/main/java这个source folder出现啦。

然后看一下,src/main/sources、src/test/java、src/test/resources这三个哪个没有就建哪个,效果如下



2.2 更改class路径

右键项目,Java Build Path -> Source

下面应该有4个文件夹。src/main/java,src/main/resources,src/test/java ,src/test/resources。

双击每个文件夹的Output folder,选择路径。

src/main/java,src/main/resources,选择target/classes;

src/test/java ,src/test/resources, 选择target/test-classes;

选上Allow output folders for source folders.(如果没有选上的话)



点击左侧属性  project Facets,想要切换成3.1发现报错



这是因为当前版本的eclipse在新建项目的时候,默认使用maven-artchetype-webapp

这个的catalog比较老,对应的servlet还是2.3的



  Archetype Created Web Application 


打开当前项目对应的workspace,找到当前工程文件夹下的.settings,会看到一些文件


将org.eclipse.jdt.core.prefs中编译器的版本的1.5改为1.8(或者你自己手中的jdk的版本亦可)



同时修改下面的文件的java版本和jst.web的版本




重新打开属性 project Facets,看到这个地方已经修改成3.1; 勾选上tomcat

tomcat的配置就不在这里说明了。不过有的eclipse的版本可能比较老,不支持tomcat8.5,这个需要下载新版



项目工程创建完成

new 一个server

启动之后看看有无报错,目前没有。打开默认的欢迎index.jsp页面,如下所示,搞定




2017-08-02补充

书接上文

话说eclipse maven工程可以自动添加依赖设置

maven工程可以在线搜索依赖的jar包,还是非常方便的

但是有的时候可能还需要设置下



如上图所示,一般在第一个红框的位置输入你要找的jar包,它会自动帮你找到比较新的几个版本来使用的

如果你想用老版本,可以从下图中的网站中搜索你要的jar包,然后会给你列出来一堆的可用版本,你找到一各之后,把下图的最下面一个红框中的内容复制下来,考到pom.xml文件的依赖那部分即可。


如果遇到eclipse不能在线搜索jar包 报错

如果搜索不到内容,或者有报错信息(index downloads are disabled ,search results may be incomplete)

windows  preference   maven   勾选上





如上图,rebuild一下之后就可以搜索了


添加了之后,顺手更新了下项目(注意,不是必须要做的哈,只是我手欠了)不过你早晚或许都会需要更新下


然后捏

尼玛,报错了….


想了一下不应该啊,都修改好了的

回头一看

我的jdk版本,还有eclipse的一些配置,都尼玛改回来了,还原了….



肿么了这是?

忘记设置了!!!!!

maven update project后版本还原,jdk还原了!

Maven 3.0 source和target的默认设置都是1.5,与运行Maven时的JDK版本无关,除非在项目的POM文件中显示的指定一个版本,否则每次更新后都会使用编译器默认的source/target版本1.5。

所以,把原来修改过的东西修改回去先……

然后pom.xml中显示的指定这一段


			
				org.apache.maven.plugins
				maven-compiler-plugin
				3.3
				
					
					1.8
					1.8
				
			
		

(如果有build标签了,就是plugins这一段)

然后在更新下  update project

刚才的错误就没了

上段代码测测吧

package mavenwebtest;

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.FileSystemXmlApplicationContext;

public class HelloWorld {

public static void main(String[]args){

        ApplicationContext ctx = new FileSystemXmlApplicationContext("src/helloWorld.xml");

        HelloWorldSpringBean helloWorldSpringBean = (HelloWorldSpringBean)ctx.getBean("myHelloWorld");

helloWorldSpringBean.show();

    }

}

package mavenwebtest;

public class HelloWorldSpringBean {
	private String hello;

	public String getHello() {
		return hello;
	}

	public void setHello(String hello) {
		this.hello = hello;
	}

	public void show() {
		System.out.println("--message--" + getHello());
	}
}

helloWorld.xml




	
		
			hello World spring!
		
	

注意那个helloWorld.xml要放在src下面

跑通。。。。