idea使用maven创建java web项目
2017-08-21 16:00
447 查看
maven安装
顺序不太对,按自己的思路顺序搭建1. 下载maven
2. 配置环境变量
3.配置本地仓库
在maven的安装目录中conf/settings.xml文件配置本地仓库
配置IntelliJ
在IntelliJ的设置中,可以设置maven的安装目录,settings.xml文件的位置,和本地仓库的位置等信息。
新建项目
创建父工程file-maven-跳过原型选择-创建
子工程:
ctrl+shift+alt+s:添加子模块
原型选择:web层用war(web app),service层和dao层用jar(quickstart)
maven模板项目结构
每个module都需要创建五个目录
配置Tomcat容器
打开菜单Run -> 选择Edit Configuration点击“+”号 -> 选择“Tomcat Server” -> 选择“Local”
在Tomcat中部署并运行项目
Run -> Edit Configurations,进入”Run/Debug Configurations”窗口 -> 选择刚刚建立的Tomcat容器 -> 选择Deployment -> 点击右边的“+”号 -> 选择Artifact
打开Project Structure(快捷键:Ctrl+Shift+Alt+s)
dao层的web.xml设置
默认的版本是2.3,更改为2.5<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <!-- 监听器 --> <listener> <!-- 默认从/WEB-INF/applicationContext.xml加载配置文件 --> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <!-- spring配置文件 可以采用加载多个文件,中间以半角逗号分隔,也可以使用通配符号 --> <param-value>classpath:spring/applicationContext.xml,classpath:spring/applicationContext-*.xml</param-value> </context-param> <!-- OpenSessionInView,解决延迟加载session在web层不可用的问题 将session的生命周期延长到和request一致 --> <filter> <filter-name>OpenSessionInView</filter-name> <filter-class>org.springframework.orm.hibernate5.support.OpenSessionInViewFilter</filter-class> </filter> <filter-mapping> <filter-name>OpenSessionInView</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- 配置前端控制器 --> <!-- 配置struts2的 前端控制器 --> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> </web-app>
问题
Description Resource Path Location Type
Cannot change version of project facet Dynamic Web Module to 2.5. maven-ssh0120 line 1 Maven Java EE Configuration Problem
找到工程目录:
修改:
pom.xml设置
基本配置:每个maven都有一个pom.xml,pom.xml在工程根目录。
gropuid:项目名称
artifactid:模块名称(子项目名称)
version:版本
packaging:打包方式,jar(java工程)、war(web工程)、pom(作为父工程)
dependencies:依赖管理,配置本工程所依赖jar包(构件)
build:工程构建配置,配置插件
设置编译版本
或者让这三个地方一致
Project Structure里确认两个地方:Project sdk以及project language level
Project Structure->Modules里Sources里的Language level
Preferences->Java Compiler->Per-module bytecode Version
定义父工程的dom.xml:
<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"> <modelVersion>4.0.0</modelVersion> <groupId>cn.itcast.maven</groupId> <artifactId>maven-ssh</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>maven-ssh Maven Webapp</name> <url>http://maven.apache.org</url> <!-- 属性 --> <properties> <spring.version>4.2.4.RELEASE</spring.version> <hibernate.version>5.0.7.Final</hibernate.version> <struts.version>2.3.24</struts.version> </properties> <dependencyManagement> <dependencies> <!-- 锁定版本为 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>${hibernate.version}</version> </dependency> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>${struts.version}</version> </dependency> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-spring-plugin</artifactId> <version>${struts.version}</version> </dependency> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-json-plugin</artifactId> <version>${struts.version}</version> </dependency> </dependencies> </dependencyManagement> <dependencies> <!-- spring --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> </dependency> <!-- hibernate --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> </dependency> <!-- 数据库驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.6</version> <scope>runtime</scope> </dependency> <!-- c3p0 --> <dependency> <groupId>c3p0</groupId> <artifactId>c3p0</artifactId> <version>0.9.1.2</version> </dependency> <!-- 导入 struts2 --> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> </dependency> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-spring-plugin</artifactId> </dependency> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-json-plugin</artifactId> </dependency> <!-- servlet jsp --> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jsp-api</artifactId> <version>2.0</version> <scope>provided</scope> </dependency> <!-- 日志 --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.2</version> </dependency> <!-- junit --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.9</version> <scope>test</scope> </dependency> <!-- jstl --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> </dependencies> <build> <finalName>maven-ssh</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.7</source> <target>1.7</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build> <!--解决输出中文乱码--> <properties> <argLine>-Dfile.encoding=UTF-8</argLine> </properties> </project>
定义dao的dom.xml
<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"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>cn.itcast.maven</groupId> <artifactId>maven-parent</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <artifactId>maven-dao</artifactId> <packaging>jar</packaging> <dependencies> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> </dependency> <!-- 数据库驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.6</version> <scope>runtime</scope> </dependency> <!-- c3p0 --> <dependency> <groupId>c3p0</groupId> <artifactId>c3p0</artifactId> <version>0.9.1.2</version> </dependency> <!-- 日志 --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.2</version> </dependency> <!-- junit --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.9</version> <scope>test</scope> </dependency> </dependencies> </project>
定义service的dom.xml
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"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>cn.itcast.maven</groupId> <artifactId>maven-parent</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <artifactId>maven-service</artifactId> <packaging>jar</packaging> <dependencies> <!-- junit --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.9</version> <scope>test</scope> </dependency> <!-- 依赖dao --> <dependency> <groupId>cn.itcast.maven</groupId> <artifactId>maven-dao</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> </dependencies> </project>
定义web的dom.xml
<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"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>cn.itcast.maven</groupId> <artifactId>maven-parent</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <artifactId>maven-web</artifactId> <packaging>war</packaging> <name>web工程</name> <dependencies> <!-- junit --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.9</version> <scope>test</scope> </dependency> <!-- 依赖service --> <dependency> <groupId>cn.itcast.maven</groupId> <artifactId>maven-service</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> </dependency> <!-- 导入 struts2 --> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> </dependency> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-spring-plugin</artifactId> </dependency> <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-json-plugin</artifactId> </dependency> <!-- servlet jsp --> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jsp-api</artifactId> <version>2.0</version> <scope>provided</scope> </dependency> <!-- jstl --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> </dependencies> </project>
参考:
【java】intellij idea 超详细图解从0搭建SSM框架
Intellij Idea 创建Web项目并部署servlet
使用IntelliJ IDEA 配置Maven(入门)
相关文章推荐
- 使用IntelliJ IDEA 14和Maven创建java web项目
- 使用IntelliJ IDEA 14和Maven创建java web项目
- 使用IntelliJ IDEA 14和Maven创建java web项目
- 使用IntelliJ IDEA 14和Maven创建java web项目
- 使用IntelliJ IDEA 14和Maven创建java web项目
- 使用IntelliJ IDEA 14和Maven创建java web项目
- 使用IntelliJ IDEA和Maven创建Java Web项目
- 使用IntelliJ IDEA 14和Maven创建java web项目(以及maven管理本地仓库)
- 使用IntelliJ IDEA 14和Maven创建java web项目
- 使用Idea创建ssm项目,SpringMVC+Spring+MyBatis+Maven整合
- 使用 IDEA 创建 Maven Web 项目 (异常)- Disconnected from the target VM, address: '127.0.0.1:59770', transport: 'socket'
- 使用IntelliJ IDEA 14和Maven创建java web项目
- 使用IntelliJ IDEA 14和Maven创建java web项目
- 使用IntelliJ IDEA 14和Maven创建java web项目
- 使用idea14.1.4创建maven多项目工程搭建jfinal框架报错
- 使用IDEA创建Maven项目使用JSTL标签所需要的依赖
- 使用IntelliJ IDEA 14和Maven创建java web项目
- 使用IntelliJ IDEA 14和Maven创建java web项目
- 图文详解 IntelliJ IDEA 15 创建 Maven 构建的 Java Web 项目(使用 Jetty 容器)
- 使用IntelliJ IDEA 14和Maven创建java web项目