设为首页 收藏本站
查看: 1414|回复: 0

[经验分享] eclipse+maven+tomcat构建web工程

[复制链接]

尚未签到

发表于 2015-8-11 15:59:14 | 显示全部楼层 |阅读模式
  我们要利用Maven构建一个web应用,开发环境为eclipse+tomcat。构建过程如下:
  
  1、工具准备
  eclipse:版本为eclipse 4.2(Juno Service),maven插件的安装与配置参见“m2eclipse安装与配置”
  tomcat:版本为apache-tomcat-6.0.37(即tomcat6.x系列,本文安装在D:\work\tomcat6\apache-tomcat-6.0.37-maven)
  2、建立web应用
  我们使用eclipse建立maven的web工程,步骤如下:
  在eclispe中,点击【File】-【New】-【Other】,弹出如下界面:
  选择“Maven”-“Manve Project”,点击【Next】
   DSC0000.png
  设置工作空间,可以根据项目实际情况进行设置,这里我们选择eclipse默认的工作空间“Use default Workspace location”,点击【Next】
   DSC0001.png
  利用archetype创建web工程,选择groupId为“org.apache.maven.archetypes”,ArtifactId为“maven-archetype-webapp”,version为“RELEASE”的archetype构建,点击【Next】
   DSC0002.png
  填写构件基本坐标信息,如下:
  Group Id:com.rockcms //项目分组id,rockcms的域名(倒序书写)
  Artifact Id:rockcms-web //rockcms项目组内构建唯一id,rockcms-web
  version:1.0.0-SNAPSHOT //rockcms项目版本号,当前为快照1.0.0版本
  Package:com.rockcms.framework.web //rockcms项目的java源码包路径,根据需要命名
  点击【Finish】,在ecliplse导航栏中显示出我们建立的rockcms-web项目。
   DSC0003.png
  3.配置web工程
  建立好web工程框架后,我们需要简单的完善一下它,使其成为一个结构完善的maven的web工程。
  1)完善目录
  让目录变成标准的maven结构,增加Maven项目必要的主目录(src/main/java)和测试目录(src/test/java)。
  右键rockcms_web工程,点击【properties】,如下图
   DSC0004.png
  删除报错的source folder,选择错误的folder,点击【remove】
   DSC0005.png
  a)添加主目录
  点击【Add Folder】
   DSC0006.png
  选择”main”,点击【Create New Folder】,输入Folder name为“java”。点击【finish】,完成主目录的建立。
   DSC0007.png
  在src目录下建立test/java目录,选择”src”,点击【Create New Folder】,输入Folder name为“test/java”。点击【finish】,完成测试目录的建立。
   DSC0008.png
  2)配置class输出路径
  和标准web工程一样,我们将主程序编译到WEB-INF\classes目录下,测试程序不需要打包,所以将测试程序的编译还是编译到target目录下。具体设置如下:
  为了方便起见,我们将编译的缺省目录设置为WEB-INF\classe,点击“default output folder”后的【Browser】,注意由于WEB-INF路径在src源码目录下,所以“Allow output folders for source folders”必须勾选.
   DSC0009.png
  没有classes目录,可通过【Create New Folder】在WEB-INF目录下建立classes目录,点击【OK】完成配置,如下图所示: DSC00010.png
  缺省目录设置完毕后,我们分别为sourcefolder选择编译位置,设置src/main/java的编译输出
   DSC00011.png
  选择src/main/java的编译输出,点击【Edit】
   DSC00012.png
  选择工程默认的输出路径(Project’s default output folder),点击【OK】
  同理,将src/main/resources的输出路径也设置缺省路径Project’s default output folder,结果如下图所示:
   DSC00013.png
  由于test不需要打包到工程中,所以我们将test输出到target目录中,设置src/test/java的编译输出路径
   DSC00014.png
  为test选择指定的输出路径“test-classes”,点击“OK”完成test输出路路径设置。
  此步骤很重要,会影响到发布的war包中内容,如果不将main目录下的编译路径设置到WEB-INF/classes下,则war中将没有编译后的classes,此例子将无法在tomcat下发布运行,当然,后续如果将此工程的所有类和资源打成jar,加入到此工程的依赖中,则不会有问题。
  3)配置jdk版本
  由于本项目采用的是jdk1.6,需要将JRE System Library设置jdk1.6
   DSC00015.png
  4)调整源码目录结构顺序
  为了更好的展现源码结构,可以调整一下源码在eclipse的显示顺序,将src/main/java移动到最上边
   DSC00016.png
  设置完成后点击【OK】,关闭属性界面。
  经过以上四步设置完毕后,maven的rockcms-web工程搭建完毕。
   DSC00017.png
  4、helloworld代码
  我们将index.jsp的内容进行一下修改,以便标明显示,如下:
   DSC00018.png
  5、使用tomcat运行web工程
  1)eclipse配置tomcat
  在eclipse中配置tomcat,这样maven才能利用配置的tomcat启动web工程。配置方式:
  点击【Windows】-【Preferences】,显示下图中的窗口
   DSC00019.png
  选择Tomcat进行配置,版本Version6.x,选择apache-tomcat-6.0.37所在位置,
  如:D:\work\tomcat6\apache-tomcat-6.0.37-maven
  保存配置,完成eclipse和tomcat的配置。
  2)简化maven的tomcat运行命令
  为了简化maven的tomcat运行命令(如:tomcat6:run),我们需要在maven的setting.xml文件中配置一个server,内容如下:



1
2
3
4
5


<server>
<id>tomcat6</id>
<username>admin</username>
<password>admin</password>
</server>
  server的id为“tomcat6”,作为命令行的key,由于server配置要求我们指定链接远程服用的帐号和密码,所以我们这里配置的是tomcat的用户名和密码(例如:admin)。
  接下来我们为tomcat配置访问所需的用户名和密码,编辑tomcat-users.xml配置文件(本文默认tomcat已经安装完毕,安装路径为D:\work\tomcat6\apache-tomcat-6.0.37-maven。tomcat-users.xml文件位于tomcat安装目录的”\conf”目录下),增加manager角色的用户admin,配置方式如下:
  <user username=”admin” password=”admin” roles=”manager”/>
  注:此处的username和password与maven的settings中server用户名和密码一致。
  启动tomcat(D:\work\tomcat6\apache-tomcat-6.0.37-maven\bin\startup.bat,这里tomcat配置的端口号为8080),访问“http://127.0.0.1:8081/manager/html”地址,如下图
   DSC00020.png
  输入用户名和密码,查看此用户是否能够正常访问,显示如下界面说明登录成功
   DSC00021.png
  3)为web工程添加tomcat插件
  为了能够让工程在tomcat容器中运行,我们需要在pom.xml中build工程所需要的tomcat插件,在这里我们使用org.apache.tomcat.maven:tomcat6-maven-plugin:2.1:RELEASE实现web工程的运行。tomcat6-maven-plugin在pom.xml配置如下:
  下面详细说明tomcat插件的配置项:



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17


<build>
<finalName>rockcms-web</finalName>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat6-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<url>http://127.0.0.1:8081/manager</url>
<server>tomcat6</server>
<port>8081</port>
<path>/rockcms</path>
<charset>utf-8</charset>
</configuration>
</plugin>
</plugins>
</build>
  详细说明一下tomcat插件的configuration配置,如下:
  url:tomcat管理应用的访问路径,用来进行tomcat链接
  server:用于获得maven在setting配置的远程访问的权限信息,如用户名和密码等,“tomcat6”和前面在settings.xml中配置的serverId一致。
  port:端口号,8081
  path:rockcms-web项目的webpath路径
  charset:字符集,utf-8
  4)启动tomcat运行web项目
  在eclipse中利用maven命令启动tomcat,运行web工程,配置方法如下:
  点击【Run】-【Debug Configurations..】,如下图:
   DSC00022.png
   DSC00023.png
  在”Maven Build”处添加一个调试命令,具体如下:
  name:调试命令名,可以是项目名或其他
  Base direcory:运行的项目位置,可以通过【Browser Workspace..】,选择当前工作空间里的项目,这里为rockcms-web项目。
  Goals:执行的命令,tomcat6:run,这里是简化后的命令名,这也是为什么要配置server的原因。
  点击【Debug】按钮,Eclipse的console窗口中会显示启动信息。
   DSC00024.png
  第一次启动时,maven会下载tomcat插件,可能需要等待一会儿,后续再启动则不会在下载了,会比较快。启动成功后,访问“http://127.0.0.1:8081/rockcms/”,则会显示我们修改的helloworld界面。
   DSC00025.png
  以上内容为在eclipse里建立maven的web工程,并且实现了在eclipse中利用tomcat运行web工程,配置起来步骤比较多,但是环境一旦搭建完成,后续构建、发布等工作量就会大大减少。
  对于开发人员来说,我们已经有一个标准的开发环境了eclipse+tomcat+web,接下来就是编写程序并进行调试了。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-97591-1-1.html 上篇帖子: Character Encoding tomcat. 下篇帖子: Tomcat服务器
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表