当前位置:首页 » 网页前端 » eclipse创建mavenweb项目
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

eclipse创建mavenweb项目

发布时间: 2023-03-18 07:04:38

1. 如何把maven项目转成web项目

把一个maven项目转化成web项目方法:

创建Web工程,使用eclipse ee创建maven web工程 。
1、右键项目,选择Project Facets,点击Convert to faceted from 。
2。更改Dynamic Web Mole的Version为2.5(3.0为Java7的,Tomcat6不支持)。 如果提示错误,可能需要在Java Compiler设置Compiler compliance level 为1.6 。或者需要在此窗口的Java的Version改成1.6。
3、点击下面的Further configuration available…,弹出Modify Faceted Project窗口 此处是设置web。xml文件的路径,输入src/main/webapp. Generate web.xml deployment descriptor自动生成web.xml文件,可选可不选。
4、点击OK。
5、设置部署程序集(Web Deployment Assembly)
6、在右键项目打开此窗口、在左侧列表中会出现一个Deployment Assembly,点击进去后。
7、删除test的两项,因为test是测试使用,并不需要部署。
8、设置将Maven的jar包发布到lib下。 Add -> Java Build Path Entries -> Maven Dependencies -> Finish 完成后有: /src/main/webapp / /src/main/java /WEB-INF/classes /src/main/resources /WEB-INF/classes Maven Dependencies /WEB-INF/lib 好了。

2. eclipse中怎么添加maven

  • 打开Eclipse,依次打开Windows-->Prefrences,点击Maven的右边的三角符号,以展开Maven的配置界面

3. 如何创建maven web工程

因eclipse已安装了maven插件,所以省略了maven插件的安装步骤。
构建maven工程:
1)选择maven project
2)保持默认即可
3)选择webapp,因为我们要建的是web工程啊
4)groupID即总的项目,即公司的url倒叙。下面可以有多个小工程;
Artifact ID 即子项目的名称; 同时会生成默认的包名,可以修改。
项目名称为test1.
5)finish

4. eclipse怎么启动maven项目有两个src

开门见山。eclipse怎么启动maven项目有两个src。方式一:1.构建maven项目。1.1 新建meven项目,可在Other中者丛找到maven文件夹。1.2 进州大入maven项目后,点击next。1.3 在Catalog中选择“Internal”,选中webapp之后,点击next。1.4 在Group Id和Artifact Id中输入名称id,package可以为空,点击Finish
2.配置maven环境
3.选中项目,右键运行,选择Server 或者是直接启动tomcat即可。
方式二首迹樱:
1.右击—>新建maven项目,勾选创建一个简单工程。
2. 填入信息,注意打包方式要改为war
3. 点击完成,创建完的工程目录如下
4. 项目中没有WEB-INF目录,让eclipse帮助我们补全:
5. 现在再将Dynamic Web Services勾上,版本改为3.0,同时下面会出现一行字,单击他。

5. 怎样创建一个maven webapp工程

方法/步骤

1
使用Eclipse创建Maven Web工程

2
找到Maven Project,点击Next

3
勾选上Create a simple project (不使用骨架),Next

4
填写工程名称和包名,并选择war类型,Finish

5
选择packing是war类型,在main下会生成 webapp目录

6
使用eclipse发布到tomcat下,需要把项目转成dynamic web project。
选择工程单击右键,选择properties 并找到 Project Facets ,并点击Convert to faceted form…

7
勾选Dynamic Web Mole 并点击ok (3.0只有tomcat7才支持)

8
这时工程结构下会产生一个Web Content目录

9
虽然此时我们可以发布到tomcat中,但这不符合maven的结构,继续操作。
把WebContent下面两个目录 META-INF ,WEB-INF 直接复制到src/main/webapp目录下,并删掉WebContent目录,结果如下

10
修改发布规则:先择工程单击右键, 选择 Properties,
选择Deployment Assembly:把WebContent Remove掉;测试类我们也不需要发布,test的两个目录页可以remove

11
重新指定WEB路径:点击add,选择Folder

12
在src/main下找到webapp目录,然后finish

13
把当前的build path 指向 Maven Dependency, 直接点击add,选择Java Build Path Entries 然后next

14

15
完成后如下图

16
进入开发:
(1)pom.xml可以从http://www.mvnrepository.com/ 加入需要jar包的配置路径;
(2)webapp下可以创建web页面的目录结构;
(3)main/java里创建java程序包结构。

http://jingyan..com/article/9f63fb91a7d2a5c8400f0e20.html

6. maven怎么建web project

在Eclipse下新建项目时,选择新建Maven项目,如图

默认渣返点击下一步,在“select an archetype”这步时,一样使用默认的配置,如图

下一步,需要输入项目名称,起名为“testMavenWeb”项目,点击【finish】,完成项目创建。

此时,一个Java Maven项目创建成功,但并不是Maven Web项目,项目的结构如图:

Java Maven 创建成功后,再创建一个Web项目,在“select an archetype”这步时,选择“maven-archetype-webapp”,成功创建一个web项目,如图

然后将该web项目扮梁哗下的webapp文件夹,拷贝到testMavenWeb项目下,至此,在Eclipse下的Maven Web项目创建成功厅行,创建成功的Maven Web项目结构如图:

7. Java 我的eclipes新建maven文件缺少maven depeendcies项目 刚刚配置maven 求大神急

maven项目移除Maven&Dependencies后如何在添加枯数进去
昨天一不留神,把Maven
Dependencies给移除掉了。一阵痛苦...!
1:找到工程的上一个版本
2:直接替换你的.classpath文件
3:找到工程-右键-Maven-Update
Project...& Alt+F5
4:找到工程-右键-Build Path-Configure Build Path...在
LiBraries列表中 是不是已经看到了Maven Dependencies。
如果你的工程已经没有了上一个版本
1:打开.classpath文件
在你的.classpath文件中加入上文中蓝色背景部分就可以了
上面的代码前面都加行号是因为新浪博客把代码直接显示了,避免这个问题出现。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。Eclipse使用Maven构建web项目 - Java - ITeye技术网站
博客分类:
1.创建Maven项目:
点击“File”菜单,或者通过工具栏的“New”创建Project,如下图所示:
选择Maven-》Maven Project,弹出向导对话框,如下图所示:
选中Create a simple project……复选框,其它的设置不变,并点击Next,输入maven项目必须的信息(groupId,artifactid,version),如下图所示:
这里需要选择Packaging,web项目一般选择war即可。点击Finish,完成项目创建,下图为创建的项目结构(项目名称为:sample-webapp):
2.配置web项目坦败谨:
右键点击sample-webapp项目,依次点击Properties-》Project Facets-》Convert to faceted form… ,如下图所示:
勾选Dynamic Web Mole,并选择版本(这里使用2.5,由于3.0版本需要tomcat7),如下图所示:
点击OK,此时,项目结构树增加了WebContent文件夹,如下图所示:
将WebContent下的WEB-INF、META-INF文件夹到src/main/webapp目录下,并且删除WebContent目录,完成之后,如下图所示:
右键点击sample-webapp项目,依次点击Properties-》Deployment Assembly,如下图所示:
此时,通过Remove按钮删除/src/test/java、/src/test/resources、/WebContent,并且通过Add添加webapp与maven依赖,如下图所示:
首先Add-》Folder,选择webapp目录并Finish,再选择Java Build Path Entries-》Maven Dependencies
完成之后,如下图所示:
3.部署web项目:
添加tomcat server,并部署web项目,这里不描述,与非maven项目基本相同。
浏览 50198
不要这么麻烦有更好的话,可以共享哈
Dead_knight
浏览: 864524 次
来自: 杭州
浏览量:169349
浏览量:28011
浏览量:147916
厉害了 困扰我大半个月的问题解决了
双向的时候谷歌提示“不接受您的登录证书,或者您可能没有提供登录 ...
不成功啊。启动有问题 &Security& < ...
写的太棒了,中国需要你这样的人才。Eclipse中创建Web Maven Project并部署到Tomcat中(Maven 的Web Project加入另一个Maven Project依赖) - Josh_Persistence - ITeye技术网站
博客分类:
大家都知道,在进行J2EE项目的开发过程中,在调试阶段如果只是修改了页面是不需要重启应用服务器的,比如不需要重启Tomcat。只需要在浏览器中进行页面刷新即可。其实之所以不用重启Tomcat等应用服务器,其根本原因是因为我们可以在应用服务器的配置文件中设置虚拟目录,这样就可以知道web项目所让基在的目录,于是就可以省去打包、然后再重新发布到服务器的步骤。
为什么不需要重启呢?
在Eclipse中开发j2ee项目,所有的jsp文件都是放在WebRoot目录下面,用户需要把所有用到的jar包放到WEB-INF(WebRoot的子目录)目录下的lib目录下(这就是没有用maven管理的缺点,所有jar都要自己去找);Eclipse编译时,会把java源代码产生的class文件放到WEB-INF目录的classes目录下。所以大家在应用服务器中指定虚拟目录时,直接指定到WebRoot目录就行了,这样在调试过程中,如果只修改了jsp文件,则不需要重启服务器,刷新页面,就可以看到修改后的效果。
一. 在没有用Maven管理项目时,在Eclipse中将一个项目发布到Tomcat是非常方便的。
如果是一个web项目,那么只需要在Eclipse中的Servers View中简单的添加(因为Eclipse能够检测到web项目),
选中想要添加的web项目,然后点击Finish按钮即可。
如果不是web项目,有两种解决方法:
第一种是也在Eclipse的Servers View中添加一个Server,然后直接点击Finish按钮。然后在Eclipse的Servers View中双击刚添加的Server,并点击Add External Web Moudle按钮,并直接找到该项目的绝对路径然后将其添加到Eclipse中,并指定path路径为src/main/webapp. C:\Users\swang6\workspace\AutoStressTest\ASTWeb\src\main\webapp
第二种方法是通过如下步骤将一个非Web Project修改为Web Project:
右击工程选择properties—&project facets
2. 点击链接"Convert to faccted from..."(注意,该链接只在第一次出现,即在点击过一次后,不再出现)然后选上Dynamic Web Mole ,如果Version是2.4,可把Version由2.4改为2.5.(注意如果你当前是使用Tomcat6及Tomcat6以前的版本,不能使用Version3.0, 因为Version3.0支持的JDK是7.0以上的版本,Tomcat6不支持)
然后点击下面的Further configuration available…,弹出Modify Faceted Project窗口此处是设置web.xml文件的路径,输入src/main/webapp,该操作会在src/main/webapp中创建一个新的web.xml文件,即该目录为web项目的虚拟目录. 然后直接和前面提到的操作一样,只需要在Eclipse的Servers view 中增加一个tomcat server, 并直接将web moudle加到该工程中. (注:Further configuration available…链接也是再点击一次后,以后就不会再出现。)
二. 在用Maven管理j2EE项目时
在用Maven管理项目时,也可以使用如上提到的方法。但有人会问,在Eclipse中,如何创建一个Maven的Web项目?如果多个Maven项目之间有依赖,如何在部署到Tomcat的时候将互相依赖的项目也部署进去?
问题1: 如何在Eclipse中创建一个Maven的web项目。(为了让更多的人了解怎么创建有相互依赖关系的Maven项目,即有父子关系,下面以一个这样的例子为例说明)
Eclipse中安装maven插件:m2e -
2 . 创建一个maven 的web 项目:
使用eclipse直接创建maven的web项目:
1):在eclipse建立一个maven项目,弹出窗口选着webapp, 点击next,输入相关的信息就行。在下面的对话框中选择maven-archetype-webapp。 我们假定该项目为parent项目,注意parent项目的packaing必须是pom,如果是war,因为我们这个地方创建的是一个web项目,默认的packaging方式是war,所以需要将其改为pom
&groupId&com.wsheng&/groupId&
&artifactId&wsheng-spring-base&/artifactId&
&packaging&pom&/packaging&
2)在有的Eclipse版本中,可能需要自己手动创建如下3个源文件:分别为:src.main.java,src.test.java和src.test.resources
3)在第一步结束后,你会发现现在Eclipse的工作区间中多了一个maven的project项目:wsheng-spring-base。
4)右击wsheng-spring-base,选择创建一个Maven 的mole
输入mole名字为wsheng-spring-mvc, 同1)一样,选择创建一个maven-archetype-webapp的web项目。
5) 创建结束后,wsheng-spring-base和wsheng-spring-mvc都是maven的web项目,当然你知道可以在Eclipse的Servers View中New 一个Server,你会发现,Eclipse中你可以直接部署这两个项目到Tomcat中,所以他们也就是Web项目了。这种方法是最简单的方法。直接可以在Eclipse中修改页面文件,会自动部署到Tomcat中而不用重启Tomcat。
特别需要注意的是,不要执行mvn eclipse:eclipse命令,执行该命令后,会将一个maven的project转化为一个eclipse的project,即此时在eclipse中就不再是一个maven的web project了,就不能直接部署到Tomcat中了。
问题二:如果我们在Eclipse中创建的项目不是像上面一样创建Maven的Web项目,而是普通的项目,怎样将其部署到Tomcat中?
注: 该方法显然很麻烦,直接在Eclipse中创建一个Maven的Web项目是多么的简单,但介绍该方法主要是为了让大家明白Eclipse中部署项目到Tomcat的本质所在。有兴趣的朋友不妨一试。
1. 可以参照上面的《第二种方法是通过如下步骤将一个非Web Project修改为Web Project:》现将一个非maven的web项目转化为一个maven的web项目。如现在有一个testMaven的project我们经过转换,将其转化为一个Maven的Web项目后。
2. 创建的几个java类和一个abc.jsp页面进行测试。
(其中target目录是用来存放项目打包之后生成的文件的目录,图一中显示target目录下并没有文件,是因为我们还没有用maven对项目进行打包。)
运行打包命令:mvn clean package 【对项目进行打包】
运行此命令后,项目的结构如图二:
执行上面的命令后你会发现图二中target目录下多出了几个子目录和文件,这是因为运行命令mvn clean package后,生成的文件默认会放在target目录下。其中testMaven.war文件可以直接拷贝到应用服务器如Tomcat的发布目录下,启动服务器可以直接运行!但在开发阶段,相信不会有人这么调试web项目!因为这样不停的拷贝到Tomcat中太麻烦了!!!
其实如果你认真观察,你会发现生成的子目录testMaven也是一个完整的web应用,展开后如图三:
根据前面所说的,如果我们能够制定一个web项目的虚拟目录,直接将其部署到Tomcat中即可。 在此例子中虚拟目录应该是 “D:/EclipseWorkspace/testMaven/target/testMaven”。但这样的话,有一个缺点,那就是每次只要修改了项 目中的文件,即使是jsp文件或者静态页面,你都要运行mvn clean package命令重新打包;要不然你的修改就不会更新到target目录下的文件中去!这样的话感觉比较麻烦,万一忘了执行此命令就刷新页面,发现没有看到修改后的效果,找问题都不好找!因为maven遵循“约定优先于配置”的思想。所以一般所有的页面都是放在目录webapp下面的,就我这例子而言也是 如此!图二和图三都是执行了mvn clean package命令之后的项目的目录结构,认真观察可以发现在webapp的子目录WEB-INF下面除了页面的源文件,并没有classes目录和lib目 录!要是有的话,那直接把虚拟目录指定到此webapp目录下即“D:/EclipseWorkspace/testMaven/src/main /webapp”那该多好,就不用每次修改了页面都需要运行命令mvn clean package之后才能看到效果!
对于这个问题是可以解决的,由于maven遵循“约定优先于配置”的思想,所以如果不做特殊配置,它约定默认是把打包之后产生的文件都放在target目录下的。要想改变此默认行为,我们修改在项目中的pom.xml文件。在此项目中,添加如下配置:
&!-- 更改maven默认的打包目录:将class文件和lib目录打包放到指定的目录 --&
&artifactId&maven-war-plugin&/artifactId&
&configuration&
&webappDirectory&${basedir}/src/main/webapp&/webappDirectory&
&warSourceDirectory&${basedir}/src/main/webapp&/warSourceDirectory&
&/configuration&
&/plugins&&/build&
4. 在Pom文件中增加如上命令后运行打包命令mvn clean package,项目的目录结构图如图四:
从图四可以看到,webapp的子目录WEB-INF下面多出了classes和 lib目录。这样的话,如果你只修改了页面,就不需要再执行mvn clean package命令对项目进行打包了(因为页面的源文件都直接在webapp目下的),直接享受修改页面即可刷新页面的快捷了(但是如果修改的是java文 件,则还是需要执行mvn clean package命令重新打包的;同理每次修改了pom.xml文件也是一样,即也需要重新执行mvn clean package)!
总之:该方法一旦启动tomcat后,如果只是jsp页面的变化,不需要重新运行mvn clean package 命令,而如果是修改了java代码后,不需要将tomcat停掉,只需要运行 mvn clean package命令即可。会自动部署。
附:不使用Eclipse怎样创建Maven的项目?
使用命令行: mvn archetype:create -DgroupId=my.maven.test -
DartifactId=testMaven
-DarchetypeArtifactId=maven-archetype-webapp
该篇文章的另一个重要的主题:如何在Eclipse中将两个有Dependency的Maven Project关联起来:
比如现在有一个maven web项目:storeweb, 该项目可以直接部署在Tomcat中,但该项目本身又直接依赖另一个maven 项目,如store_rest项目,该项目为storeweb项目为store_rest项目提供Rest风格的API.那么在将storeweb项目部署到Tomcat的时候,同时也需要将store_rest部署到Tomcat中,可以使用下面的方法:分为2步,第一步是Add maven Dependencies,第二步是Add project dependencies.
4.1 Add maven dependencies
Right click the web project “properties” -------& click the “Deployment Assembly” ----&
Click add button
4.2 Choose Java Build Path Entires ---& click Next
4.3 Choose Maven Dependencies------&
Add project dependencies, Click add button
4. 5: Choose Project-----& Click Next button
Choose your dependencies project -----& Click Finish button
浏览 21009
Josh_Persistence
浏览: 721787 次
来自: 上海
VCenter、ESXServer、Cluster这些实体类在 ...
感谢楼主分享
感觉博主的图有点问题吧~觉得暂存区到工作区应该是git res ...
这两天正在学习solrcloud,相当受用。发现solrclo ...
请教一下:1&我的Solr安装在d:\solr-5.4. ...Maven Repository: org.mongodb >> mongo-java-driver >>
>> mongo-java-driver
The MongoDB Java Driver uber-artifact, containing mongodb-driver, mongodb-driver-core, and bson
LicenseApache 2.0CategoriesTagsUsed .4.x(Jan, 2017)(Dec, 2016)(Nov, 2016)(Oct, 2016) 0
(Sep, 2016)3.3.x(Jul, 2016)3.2.x(Feb, 2016)(Jan, 2016)(Dec, 2015)(Nov, 2015)3.1.x(Nov, 2015)(Oct, 2015) 0
(Sep, 2015)3.0.x(Sep, 2015)(Jul, 2015)(May, 2015)(May, 2015)(Mar, 2015) 0
(Mar, 2015) 0
(Mar, 2015) 0
(Feb, 2015) 0
(Feb, 2015) 0
(Jan, 2015)2.14.x(Jul, 2016)(Mar, 2016)(Jan, 2016)(Dec, 2015) 0
(Nov, 2015)2.13.x(Sep, 2015)(May, 2015)(Apr, 2015)(Jan, 2015)(Jan, 2015)(Dec, 2014)(Nov, 2014)2.12.x(Jan, 2015)(Oct, 2014)(Jul, 2014)(May, 2014)(Apr, 2014)(Apr, 2014)(Mar, 2014)(Mar, 2014)(Mar, 2014)(Feb, 2014)2.11.x(Jan, 2014)(Sep, 2013)(Jun, 2013)(Apr, 2013)(Mar, 2013) 0
(Mar, 2013)2.10.x(Dec, 2012)(Nov, 2012)2.9.x(Oct, 2012)(Oct, 2012)(Sep, 2012)(Aug, 2012) 0
(Aug, 2012)(Aug, 2012)2.8.x(Jun, 2012)(May, 2012)2.7.x(Jan, 2012)(Nov, 2011)(Nov, 2011) 0
(Nov, 2011) 0
(Nov, 2011) 0
(Oct, 2011) 0
(Oct, 2011) 0
(Oct, 2011)2.6.x(Aug, 2011) 0
(Nov, 2011)(Jun, 2011) 0
(Nov, 2011) 0
(Nov, 2011)(Jun, 2011)(May, 2011)(May, 2011)2.5.x(Apr, 2011) 0
(Nov, 2011) 0
(Nov, 2011)(Mar, 2011) 0
(Nov, 2011) 0
(Mar, 2011)(Mar, 2011)2.4.x(Dec, 2010) 0
(Nov, 2011)2.3.x(Oct, 2010)2.2.x(Oct, 2010)2.1.x(Aug, 2010)2.0.x(Jun, 2010)(May, 2010) 0
(May, 2010) 0
(May, 2010) 0
(May, 2010)1.4.x(Apr, 2010)1.3.x(Mar, 2010)1.2.x(Dec, 2009) 0
(Dec, 2009)1.1.x(Dec, 2009)1.0.x(Dec, 2009)0.11.x 0
(Oct, 2009)0.9.x 0
(Oct, 2009)Related Books (2018)by Shannon Bradshaw, Kristina Chodorow (2016)by Krishna Rungta (2016)by AWS Whitepapers, Amazon Web Services (2016)by Max Lemann (2016)by Dan Warnock (2016)by Kyle Banker, Peter Bakkum, Shaun Verch, Doug Garrett, Tim Hawkins (2016)by Daniel Perkins (2016)by Cyrus Dasadia, Amol Nayak (2015)by Eelco Plugge, David Hows, Peter Membrey, Tim Hawkins (2015)by Exponential Mobile (2015)by
(2015)by Derek Rangel (2015)by Francesco Marchioni (2015)by sumit saraswat (2015)by Wilson da Rocha Franca (2015)by George Duckett (2014)by Peter Membrey, David Hows, Eelco Plugge (2014)by Amol Nayak (2014)by Brad Dayley (2014)by John Lynn (2014)by Afshin Mehrabani (2014)by Steve Hoberman (2014)by Anand Patil (2014)by Bo Borland (2013)by Kristina Chodorow (2013)by Rick Copeland (2011)by Kyle Banker (2011)by Kristina Chodorow (2010)by Kristina Chodorow, Michael Dirolf
Web site developed by
Powered by:

8. 如何使用eclipse创建Maven工程及其子模块

1,首先创建一个父类工程 子模块继承父类工程 并在父类工程的pom.xml文件中定义引入的jar及其版本号 子模块可以引碧橘用


创建工程完成

创建支持eclipse的多模块maven项目

通过maven可以创建多个关联模块的项目(Multiple Mole Projects)。由一个总的模块,下面包含多个子模块(子模块还可以包含子模块)。这种maven功能能支持大型的项目构建,往往大型项目由很多子模块组成。

以下说明在eclipse下如何创建多模块的maven项目。

创建总的POM

mvn archetype:create -DgroupId=com.easymorse.marshal -DartifactId=multi-moles-demo

创建一个maven项目,然后修改该项目的pom.xml文件,package类型改为pom:

<packaging>pom</packaging>

并且删除src目录。

创建子模块

在总模块目录下,创建子模块,比如web-demo:

mvn archetype:create -DgroupId=com.easymorse.marshal -DartifactId=web-demo

再创建一个比如日志模块:

mvn archetype:create -DgroupId=com.easymorse.marshal -DartifactId=logging-demo

在总pom的pom.xml文件中已经自动加入:

<moles>
<mole>web-demo</mole>
<mole>logging-demo</mole>
</moles>
在各子模块的pom.xml文件中也自动加入了:

<parent>

<artifactId>multi-moles-demo</artifactId>

<groupId>com.easymorse.marshal</groupId>

<version>1.0-SNAPSHOT</version>

</parent>

子模块继承了总POM的package,这里需要修改,web-demo模块覆盖为:

<packaging>war</packaging>

logging-demo模块修改为

<packaging>jar</packaging>

对上级模块的特别设置

需要在上级模块中设置java编译的参数余档,现在eclipse一般都使用比较新的版本,默认jdk是1.6,而maven默悔毁团认还是1.4。

<plugin>

<artifactId>maven-compiler-plugin</artifactId>

<configuration>

<source>1.6</source>

<target>1.6</target>

<encoding>UTF-8</encoding>

</configuration>

</plugin>

对web子模块的特别设置

web子模块(web-demo)依赖它的日志模块logging-demo。设置pom.xml:

<dependency>

<groupId>com.easymorse.marshal</groupId>

<artifactId>logging-demo</artifactId>

<version>1.0-SNAPSHOT</version>

</dependency>

web子模块在生成eclipse项目时,需要wtp支持,需要设置eclipse插件:

<build>

<plugins>

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-eclipse-plugin</artifactId>

<configuration>

<wtpmanifest>true</wtpmanifest>

<wtpapplicationxml>true</wtpapplicationxml>

<wtpversion>2.0</wtpversion>

</configuration>

</plugin>

</plugins>

</build>

生成Eclipse项目

在multi-moles-demo项目根目录下:

mvn eclipse:eclipse

然后,通过eclipse的import项目导入,可发现两个项目:

logging-demo

web-demo

都导入进来。导入可能会出现错误,主要是因为没有设置maven的类路径变量“M2_REPO”,可以设置这个类变量到maven的本地repository陌路即可。

如果要在eclipse中使用m2eclipse,需要使用:

mvn eclipse:m2eclipse

这样就不需要设置M2_REPO类库变量了。

接下来可以:

通过eclipse配置的tomcat运行web-demo;

通过maven的tomcat或者jetty插件运行web-demo(需要配置pom.xml文件);

为项目打包便于分发和部署。

9. 如何创建带子模块的Maven Web工程

当在Eclipse中创建Maven带子模块的Web工程时,对于新手经常会遇到无法部署Web站点的问题。下面就带着大家走一遍带子工程的Maven站点,顺便讲一下如何解决这个问题。
一、创建父工程
1、 创建Maven工程
首先,在Eclipse中新建一个Maven Project:
单击“Next”,直到出现如下界面:
在这一步中,选中上面的“Create a simple project”复选框,然后单击“Next”:
在上图中,Group Id为组Id,也就是所有子模块都公用的Id;Artifact Id是模块Id,每个子模块都有自己独立的Artifact Id;Packaging一定要选择“pom”,否则后面无法在它下面创建子模块。
单击“Finish”完成父工程创建。创建完毕后的工程如下图所示:
二、创建web子模块
接下来创建子模块。
1、 创建web工程子模块
首先创建web工程子模块,在parent工程上单击右键,选择“New/Other”,打开如下所示窗口:
在该窗口中选择“Maven Mole”,单击“Next”:
在“Mole Name”中输入“website”,单击“Next”:
在该窗口的模板列表中选择“maven-archetype-webapp”,单击“Next”:
在该窗口中可根据需要修改version和Package(最好将Package改为“GroupId + Artifact Id”的格式,便于以后识别和管理),单击“Finish”即可完成子模块创建,如下图所示:
2、 修改站点配置信息
对于新创建的站点,需要修改一下配合信息。打开website的Properties窗口,在“Java Build Path”下的Libraries选项卡中将J2SE的引用删除,添加J2EE的引用,如下图所示:
并将Java Compilier中的Java版本改为1.7:
然后切换到“Project Facets”节点,如下图所示:
单击右侧的“Convert to faceted form…”,打开如下图所示窗口:
在上图中,选中“Project Facet”列表中的“Dynamic Web Mole”,先后单击“Apply”按钮和“OK”按钮,完成工程类型转换。
接下来创建组件包子模块。
三、创建组件包子模块
1、 创建组件包子模块
同样是在parent工程上单击右键,新建Maven Mole,并在新弹出的窗口中输入组件子模块的名称,如“component”,然后一直单击next直到子模块创建完毕。新创建的component子模块结构如下图所示:
2、 修改子模块参数
与创建web子模块类似,需要将component引用的Java版本改为JDK1.7。
3、 创建package
在component子模块下创建名称为“com.unitname.test.math”的package。
4、 创建类
在新创建的“com.unitname.test.math”package下新建名称为“CCalculate”的class,并在里面编写方法,如下图所示:
四、在web站点中调用组件
1、 引用组件包
打开website工程下的pom.xml,在里面添加对component子模块的引用,如下图所示:
在上图中,红框圈住的部分即为需要增加的内容。其中,groupId和version节点中可以写被引用的工程的对应内容,如果与本模块相同,也可以像上图中所示的使用“${project.groupId}”和“${project.version}”的方式。
2、 编写servlet调用组件
在website模块中创建一个名为“com.unitname.test.service”的package,并在下面新建一个名为matchservice的servlet,代码如下图所示:
此时代码中会提示找不到javax.servlet包,可通过在站点中增加对servlet-api组件的引用:
也可通过在web站点的引用中添加对Server Runtime的引用的方式解决:
五、发布站点
1、 发布站点
将站点部署到tomcat中,并启动。
2、 访问servlet
在浏览器中输入上面创建的servlet地址http://localhost:8080/website/mathservice?a=2&b=3,此时页面出现如下错误:
Tomcat中也提示相同的错误:
此时还需要做一步操作:添加Deployment配置。
3、 添加DeploymentAssembly配置
在web子模块上单击右键,选择“Properties”,在打开的窗口中选择“Deployment Assembly”,如下图所示:
在上图中,打击右侧的“Add”按钮,打开如下图所示窗口:
在上图所示窗口中选择“Java Build Path Entries”,单击“Next”:
在上图中选择“Maven Dependencies”,单击“Finish”完成添加。
然后接着添加对Project的引用。在中选择“Project”,单击“Next”,打开如下图所示窗口:
在上图选择要引用的工程component,单击“Finish”完成添加。
重启Tomcat,再次访问该servlet,出现如下所示的正常结果