maven创建web项目,在项目中src/main下添加java源代码目录(source folder)出错

一.创建项目

1.Eclipse中用Maven创建项目

上图中Next

 

2.继续Next

3.选maven-archetype-webapp后,next

 

4.填写相应的信息,Packaged是默认创建一个包,不写也可以

5.创建好项目后,目录如下:

至此,项目已经创建完毕,下边可是配置。

二.项目配置

1.添加Source Folder

Maven规定,必须创建以下几个Source Folder

src/main/resources

src/main/java

src/test/resources

src/test/java

添加以上的Source Folder

创建好后的目录如下:

2.配置Build Path

 

3.设定4个文件夹的输出Output folder,双击修改

分别修改输出路径为

src/main/resources  对应  target/classes

src/main/java  对应  target/classes

src/test/resources  对应  target/test-classes

src/test/java  对应  target/test-classes

4.修改后如下图(新的eclipse可能有所不同)

5.设定Libraries

6.配置完Build Path后目录如下:

7.将项目转换成Dynamic Web Project

在项目上右键Properties

在左侧选择 Project Facets,单击右侧的 ”Convert faceted from “

8.修改Java为你当前项目的JDK,并添加Dynamic Web Module ,最后单击”Further Configuration available“ 链接:(此处如果没有链接,可以取消Dynamic选中点击appply然后再次打开此界面选中)

 

9.修改Content directory 为 src/main/webapp ,单击OK:

10.设置完Content directory,ok后再次点击前一界面ok,完成转换成Dynamic Web Project项目

 

11.设置部署程序集(Web Deployment Assembly)

在项目上右键单击,选择Properties,在左侧选择Deployment Assembly

12.设置部署时的文件发布路径

  1,我们删除test的两项,因为test是测试使用,并不需要部署。
  2,设置将Maven的jar包发布到lib下。 
    Add -> Java Build Path Entries -> Maven Dependencies -> Finish

设置完成后如图

 

ok后,web项目就创建完毕了,目录机构如图

用maven创建web项目后,src下只有resources,接下来想在src/main中再添加目录名为java的源文件夹(source folder)用于存放java代码,但eclipse报出如下错误:

Cannot nest 'tst/src/main/java' inside 'tst/src/'. To enable the nesting exclude  main/' from 'tst/src/'


以上错误是提示你想要创建的source folder已经存在在classpath中了,不能再创建了。你也许会很奇怪,我都没创建过,为什么提示我source folder已经存在?这是因为在maven创建项目的时候,maven已经默认帮你配置好了,从项目的java build path中可以看到,图中所示的source folder显示是missing的,也就是不存在的,因为在项目中maven并没有帮你真实创建source folder,如图所示:



这个时候你或许又有疑问了,既然maven没有真实的创建source folder,那为什么还不让我创建src/main/java ? 原因是这样的,虽然上图显示src/main/java并不存在,但是有个地方已经确确实实将src/main/java配置到src下了。这个文件就是classpath文件,每个项目下都有这样一个文件,用于配置src下的类和资源文件的路径以及编译的路径,如下图:



解决方法:

右击项目-->"properties"-->"java build path",将缺失的source folder删除掉,然后重新在项目中创建source folder即可。删除后,项目下的.classpath中所配置的相应的src也会被去除掉。

猜你喜欢

转载自blog.csdn.net/ldlly0505/article/details/79674826
今日推荐