eclipse Maven 使用记录 ------ 建立 webapp项目

时间:2023-03-19 22:12:08

maven 建立 webapp 项目 有2种方式 , 
1.在原先app上转换为webapp项目 
2.建立maven项目的时候  filter 选择webapp 该选项把webapp文件目录建好,其他的还是要自己配。。。。。

采用将原先的app项目改成 webapp项目 



1.改变项目,动态web工程
eclipse Maven 使用记录 ------  建立 webapp项目


让项目成此结构

eclipse Maven 使用记录 ------  建立 webapp项目



eclipse   buliders  配置文件

  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. <projectDescription> 
  3.  <name>mmvc</name> 
  4.  <comment></comment> 
  5.  <projects> 
  6.  </projects> 
  7.  <buildSpec> 
  8.   <buildCommand> 
  9.    <name>org.eclipse.wst.jsdt.core.javascriptValidator</name> 
  10.    <arguments> 
  11.    </arguments> 
  12.   </buildCommand> 
  13.   <buildCommand> 
  14.    <name>org.eclipse.jdt.core.javabuilder</name> 
  15.    <arguments> 
  16.    </arguments> 
  17.   </buildCommand> 
  18.   <buildCommand> 
  19.    <name>org.eclipse.wst.common.project.facet.core.builder</name> 
  20.    <arguments> 
  21.    </arguments> 
  22.   </buildCommand> 
  23.   <buildCommand> 
  24.    <name>org.eclipse.wst.validation.validationbuilder</name> 
  25.    <arguments> 
  26.    </arguments> 
  27.   </buildCommand> 
  28.   <buildCommand> 
  29.    <name>org.eclipse.m2e.core.maven2Builder</name> 
  30.    <arguments> 
  31.    </arguments> 
  32.   </buildCommand> 
  33.  </buildSpec> 
  34.  <natures> 
  35.   <nature>org.eclipse.m2e.core.maven2Nature</nature> 
  36.   <nature>org.eclipse.jem.workbench.JavaEMFNature</nature> 
  37.   <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature> 
  38.   <nature>org.eclipse.wst.common.project.facet.core.nature</nature> 
  39.   <nature>org.eclipse.jdt.core.javanature</nature> 
  40.   <nature>org.eclipse.wst.jsdt.core.jsNature</nature> 
  41.  </natures> 
  42. </projectDescription> 


项目 工程下  .settings  ---- .jsdtscope文件修改 java脚本路径

  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. <classpath> 
  3.  <classpathentry kind="src" path="/src/main/webapp"/>   //改这里
  4.  <classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/> 
  5.  <classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject"> 
  6.   <attributes> 
  7.    <attribute name="hide" value="true"/> 
  8.   </attributes> 
  9.  </classpathentry> 
  10.  <classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/> 
  11.  <classpathentry kind="output" path=""/> 
  12. </classpath> 




配置  web context root deploy-path 目录

如果项目原先为 web工程 ,这时候要换目录则需要进入配置文件改动

项目 工程下  .settings  ---- org.eclipse.wst.common.component文件修改  发布目录

  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. <project-modules id="moduleCoreId" project-version="1.5.0"> 
  3.     <wb-module deploy-name="mmvc"> 
  4.         <wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/> 
  5.         <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/> 
  6.         <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resource"/> 
  7.         <property name="context-root" value="mmvc"/> 
  8.         <property name="java-output-path" value="/mmvc/build/classes"/> 
  9.     </wb-module> 
  10. </project-modules> 



文件目录建好之后 ,  为了让java 脚本及配置文件能  auto bulid  需要配置 这2个目自动编译至webapp发布目录 /classes

eclipse Maven 使用记录 ------  建立 webapp项目


ok  web项目基本构建完成


2.pom.xml 配置 web 所需要的环境

  1. <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/xsd/maven-4.0.0.xsd"> 
  2. <modelVersion>4.0.0</modelVersion> 
  3. <groupId>mmvc</groupId> 
  4. <artifactId>mmvc</artifactId> 
  5. <version>1</version> 
  6. <packaging>war</packaging> 
  7. <properties> 
  8. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
  9. <spring.version>3.0.5.RELEASE</spring.version> 
  10. </properties> 
  11. <dependencies> 
  12. <dependency> 
  13. <groupId>org.apache.openejb</groupId> 
  14. <artifactId>javaee-api</artifactId> 
  15. <version>5.0-1</version> 
  16. <scope>provided</scope> 
  17. </dependency> 
  18. <dependency> 
  19. <groupId>javax.faces</groupId> 
  20. <artifactId>jsf-api</artifactId> 
  21. <version>1.2_04</version> 
  22. <scope>provided</scope> 
  23. </dependency> 
  24. <dependency> 
  25. <groupId>javax.servlet</groupId> 
  26. <artifactId>jstl</artifactId> 
  27. <version>1.2</version> 
  28. <scope>provided</scope> 
  29. </dependency> 
  30. <dependency> 
  31. <groupId>javax.servlet.jsp</groupId> 
  32. <artifactId>jsp-api</artifactId> 
  33. <version>2.1</version> 
  34. <scope>provided</scope> 
  35. </dependency> 
  36. <dependency> 
  37. <groupId>javax.faces</groupId> 
  38. <artifactId>jsf-impl</artifactId> 
  39. <version>1.2_04</version> 
  40. <scope>provided</scope> 
  41. </dependency> 
  42. <dependency> 
  43. <groupId>org.springframework</groupId> 
  44. <artifactId>spring-webmvc</artifactId> 
  45. <version>${spring.version}</version> 
  46. <scope>runtime</scope> 
  47. </dependency> 
  48. </dependencies> 
  49. <build> 
  50. <!-- 列出所依赖的 plugin mvn自动选择包含的 --> 
  51. <pluginManagement> 
  52. <plugins> 
  53. <plugin> 
  54. <groupId>org.apache.maven.plugins</groupId> 
  55. <artifactId>maven-compiler-plugin</artifactId> 
  56. <configuration> 
  57. <source>1.6</source> 
  58. <target>1.6</target> 
  59. </configuration> 
  60. </plugin> 
  61. <plugin> 
  62. <groupId>org.eclipse.m2e</groupId> 
  63. <artifactId>lifecycle-mapping</artifactId> 
  64. <version>1.0.0</version> 
  65. <configuration> 
  66. <lifecycleMappingMetadata> 
  67. <pluginExecutions> 
  68. <pluginExecution> 
  69. <pluginExecutionFilter> 
  70. <groupId>org.apache.maven.plugins</groupId> 
  71. <artifactId>maven-dependency-plugin</artifactId> 
  72. <versionRange>[2.0,)</versionRange> 
  73. <goals> 
  74. <goal>copy-dependencies</goal> 
  75. </goals> 
  76. </pluginExecutionFilter> 
  77. <action> 
  78. <ignore /> 
  79. </action> 
  80. </pluginExecution> 
  81. </pluginExecutions> 
  82. </lifecycleMappingMetadata> 
  83. </configuration> 
  84. </plugin> 
  85. </plugins> 
  86. </pluginManagement> 
  87. <plugins> 
  88. <!-- remove jar plugins --> 
  89. <plugin> 
  90. <groupId>org.apache.maven.plugins</groupId> 
  91. <artifactId>maven-clean-plugin</artifactId> 
  92. <executions> 
  93. <execution> 
  94. <id>clean</id> 
  95. <phase>install</phase> 
  96. <goals> 
  97. <goal>clean</goal> 
  98. </goals> 
  99. <configuration> 
  100. <directory>/src/main/webapp/WEB-INF/lib</directory> 
  101. </configuration> 
  102. </execution> 
  103. </executions> 
  104. </plugin> 
  105. <!-- copy jar plugins --> 
  106. <plugin> 
  107. <groupId>org.apache.maven.plugins</groupId> 
  108. <artifactId>maven-dependency-plugin</artifactId> 
  109. <executions> 
  110. <execution> 
  111. <id>copy-dependencies</id> 
  112. <phase>package</phase> 
  113. <goals> 
  114. <goal>copy-dependencies</goal> 
  115. </goals> 
  116. <configuration> 
  117. <outputDirectory>src/main/webapp/WEB-INF/lib</outputDirectory> 
  118. <excludeTransitive>false</excludeTransitive> 
  119. <stripVersion>false</stripVersion> <!-- 复制jar 的时候去掉版本信息 true : 去掉 false: 不去掉 --> 
  120. <includeScope>runtime</includeScope> 
  121. </configuration> 
  122. </execution> 
  123. </executions> 
  124. </plugin> 
  125. </plugins> 
  126. </build> 
  127. </project>

以上配置包含 javeee 自带的jar , springmvc 框架 所需jar  ,可以从maven远程仓库获取至本地服务器仓库 ,再 从maven仓库获取

另包含 自动部署的时候 copy jar到 发布目录下的lib目录下

ok 需要生成 package的时候  会自动生成到 target 目录下并打成war包 


maven package执行的时候会遇到jdk版本不对的问题 :原因是 maven所指定的jdk版本与项目使用的jdk版本不一致


跑起来吧 。。。。。。。。。。。。。。。。。。。。