- 浏览: 149622 次
- 性别:
- 来自: 杭州
最新评论
-
luliangy:
我是直接放在URL里面的出了错,试了下放在data里面就没问题 ...
HttpURLConnection乱码问题解决 -
luliangy:
我是在服务端(webx)getBytes iso8895-1然 ...
HttpURLConnection乱码问题解决 -
cwalet:
bazhuang 写道liwanfeng 写道
data = ...
HttpURLConnection乱码问题解决 -
cl1154781231:
connection.getOutputStream(),&q ...
HttpURLConnection乱码问题解决 -
bazhuang:
liwanfeng 写道
data = new String ...
HttpURLConnection乱码问题解决
下面介绍一下如何利用maven来创建多model的工程:
我们的目标是创建一个demo工程,其包括3个子工程,demo.domain,demo.orm,demo.web,其中domain是存放Service代码,orm是存放数据库操作代码,web是存放controller以及页面相关的代码。打包的时候直接将其打成一个demo.war,直接发布使用。
创建一个普通的java项目可以使用以下命令:
mvn archetype:create -DgroupId=com.demo -DartifactId=demo -Dversion=1.0.0 -DarchetypeGroupId=org.apache.maven.archetypes
我们就可以创建一个普通的java project,进入demo目录,可以看到pom.xml中的内容如下:
我们的目的是想在demo中创建一个多项目的工程。一个demo.domain、demo.orm、demo.web,然后通过上面创建的这个工程将其管理起来。
那我们同样利用命令:mvn archetype:create -DgroupId=com.demo -DartifactId=demo.domain -Dversion=1.0.0 -DarchetypeGroupId=org.apache.maven.archetypes,就可以创建一个demo.domain这个项目。然后依样画葫芦可以创建一个demo.orm,创建demo.web的时候需要多添加一个参数,指定该工程为一个webapp,命令如下:
mvn archetype:create -DgroupId=com.demo -DartifactId=demo.web -Dversion=1.0.0 -DarchetypeArtifactId=maven-archetype-webapp
然后我们将demo.orm,demo.domain,demo.web下的pom.xml打开,里面增加:
然后把这些工程移动到demo目录下,打开demo目录下的pom.xml文件,添加如下代码:
这样就把这些工程的结构定义好了,demo为父工程,demo.domain,demo.orm,以及demo.web就是其子工程。
接下来还需要对demo中的pom.xml进行修改,修改之后的内容如下:
主要就是将packaging的内容修改为pom。
还有就是修改demo.web下的pom.xml
这里就是修改了build节点,第一处是指定了编译后的war包的名称为demo.war,第二处的plugin是指定编译的jdk版本为1.5。
还需要指定一下maven编译时候使用的编码,如果不指定的话,就会利用操作系统默认的编码,这样编译的java代码执行时候会出现乱码。
所以需要在pom.xml文件中指定编译时候使用的编码,以及资源文件的编码。
需要修改pom.xml中的build节点,增加如下内容:
就是在指定了编译使用的jdk版本之后,添加encoding节点配置,然后再增加maven-resources-plugin插件配置就可以了。
如上配置,java文件编译就完全没有问题了。
完整的示例代码如附件所示
最后我们执行一下mvn package命令,就可以打包部署了:
我们的目标是创建一个demo工程,其包括3个子工程,demo.domain,demo.orm,demo.web,其中domain是存放Service代码,orm是存放数据库操作代码,web是存放controller以及页面相关的代码。打包的时候直接将其打成一个demo.war,直接发布使用。
创建一个普通的java项目可以使用以下命令:
mvn archetype:create -DgroupId=com.demo -DartifactId=demo -Dversion=1.0.0 -DarchetypeGroupId=org.apache.maven.archetypes
我们就可以创建一个普通的java project,进入demo目录,可以看到pom.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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.demo</groupId> <artifactId>demo</artifactId> <packaging>jar</packaging> <version>1.0.0</version> <name>demo</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>
我们的目的是想在demo中创建一个多项目的工程。一个demo.domain、demo.orm、demo.web,然后通过上面创建的这个工程将其管理起来。
那我们同样利用命令:mvn archetype:create -DgroupId=com.demo -DartifactId=demo.domain -Dversion=1.0.0 -DarchetypeGroupId=org.apache.maven.archetypes,就可以创建一个demo.domain这个项目。然后依样画葫芦可以创建一个demo.orm,创建demo.web的时候需要多添加一个参数,指定该工程为一个webapp,命令如下:
mvn archetype:create -DgroupId=com.demo -DartifactId=demo.web -Dversion=1.0.0 -DarchetypeArtifactId=maven-archetype-webapp
然后我们将demo.orm,demo.domain,demo.web下的pom.xml打开,里面增加:
…… <modelVersion>4.0.0</modelVersion> <parent> <artifactId>demo</artifactId> <groupId>com.demo</groupId> <version>1.0.0</version> </parent> ……
然后把这些工程移动到demo目录下,打开demo目录下的pom.xml文件,添加如下代码:
…… <url>http://maven.apache.org</url> <modules> <module>demo.web</module> <module>demo.domain</module> <module>demo.orm</module> </modules> ……
这样就把这些工程的结构定义好了,demo为父工程,demo.domain,demo.orm,以及demo.web就是其子工程。
接下来还需要对demo中的pom.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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.demo</groupId> <artifactId>demo</artifactId> <version>1.0.0</version> <packaging>pom</packaging> <name>demo</name> <url>http://maven.apache.org</url> <modules> <module>demo.web</module> <module>demo.domain</module> <module>demo.orm</module> </modules> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>
主要就是将packaging的内容修改为pom。
还有就是修改demo.web下的pom.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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <artifactId>demo</artifactId> <groupId>com.demo</groupId> <version>1.0.0</version> </parent> <groupId>com.demo</groupId> <artifactId>demo.web</artifactId> <packaging>war</packaging> <version>1.0.0</version> <name>demo.web Maven Webapp</name> <url>http://maven.apache.org</url> <build> <finalName>demo</finalName> <plugins> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> <version>6.1.9</version> <configuration> <contextPath>/demo</contextPath> <scanIntervalSeconds>3</scanIntervalSeconds> <scanTargetPatterns> <scanTargetPattern> <directory>src/main/webapp</directory> </scanTargetPattern> </scanTargetPatterns> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <compilerArgument>-verbose </compilerArgument> <source>1.5</source> <target>1.5</target> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>
这里就是修改了build节点,第一处是指定了编译后的war包的名称为demo.war,第二处的plugin是指定编译的jdk版本为1.5。
还需要指定一下maven编译时候使用的编码,如果不指定的话,就会利用操作系统默认的编码,这样编译的java代码执行时候会出现乱码。
所以需要在pom.xml文件中指定编译时候使用的编码,以及资源文件的编码。
需要修改pom.xml中的build节点,增加如下内容:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.5</source> <target>1.5</target> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <configuration> <encoding>UTF-8</encoding> </configuration> </plugin>
就是在指定了编译使用的jdk版本之后,添加encoding节点配置,然后再增加maven-resources-plugin插件配置就可以了。
如上配置,java文件编译就完全没有问题了。
完整的示例代码如附件所示
最后我们执行一下mvn package命令,就可以打包部署了:
D:\example\demo>mvn package [INFO] Scanning for projects... [INFO] Reactor build order: [INFO] demo [INFO] demo.web Maven Webapp [INFO] demo.domain [INFO] demo.orm [INFO] ------------------------------------------------------------------------ [INFO] Building demo [INFO] task-segment: [package] [INFO] ------------------------------------------------------------------------ [INFO] [site:attach-descriptor {execution: default-attach-descriptor}] [INFO] ------------------------------------------------------------------------ [INFO] Building demo.web Maven Webapp [INFO] task-segment: [package] [INFO] ------------------------------------------------------------------------ [INFO] [resources:resources {execution: default-resources}] [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 0 resource [INFO] [compiler:compile {execution: default-compile}] [INFO] No sources to compile [INFO] [resources:testResources {execution: default-testResources}] [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] skip non existing resourceDirectory D:\example\demo\demo.web\src\test\resources [INFO] [compiler:testCompile {execution: default-testCompile}] [INFO] No sources to compile [INFO] [surefire:test {execution: default-test}] [INFO] No tests to run. [INFO] [war:war {execution: default-war}] [INFO] Packaging webapp [INFO] Assembling webapp[demo.web] in [D:\example\demo\demo.web\target\demo] [INFO] Processing war project [INFO] Copying webapp resources[D:\example\demo\demo.web\src\main\webapp] [INFO] Webapp assembled in[47 msecs] [INFO] Building war: D:\example\demo\demo.web\target\demo.war [INFO] ------------------------------------------------------------------------ [INFO] Building demo.domain [INFO] task-segment: [package] [INFO] ------------------------------------------------------------------------ [INFO] [resources:resources {execution: default-resources}] [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] skip non existing resourceDirectory D:\example\demo\demo.domain\src\main\resources [INFO] [compiler:compile {execution: default-compile}] [INFO] Nothing to compile - all classes are up to date [INFO] [resources:testResources {execution: default-testResources}] [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] skip non existing resourceDirectory D:\example\demo\demo.domain\src\test\resources [INFO] [compiler:testCompile {execution: default-testCompile}] [INFO] Nothing to compile - all classes are up to date [INFO] [surefire:test {execution: default-test}] [INFO] Surefire report directory: D:\example\demo\demo.domain\target\surefire-reports ------------------------------------------------------- T E S T S ------------------------------------------------------- Running com.demo.AppTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.016 sec Results : Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 [INFO] [jar:jar {execution: default-jar}] [INFO] Building jar: D:\example\demo\demo.domain\target\demo.domain-1.0.0.jar [INFO] ------------------------------------------------------------------------ [INFO] Building demo.orm [INFO] task-segment: [package] [INFO] ------------------------------------------------------------------------ [INFO] [resources:resources {execution: default-resources}] [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] skip non existing resourceDirectory D:\example\demo\demo.orm\src\main\resources [INFO] [compiler:compile {execution: default-compile}] [INFO] Compiling 1 source file to D:\example\demo\demo.orm\target\classes [INFO] [resources:testResources {execution: default-testResources}] [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] skip non existing resourceDirectory D:\example\demo\demo.orm\src\test\resources [INFO] [compiler:testCompile {execution: default-testCompile}] [INFO] Compiling 1 source file to D:\example\demo\demo.orm\target\test-classes [INFO] [surefire:test {execution: default-test}] [INFO] Surefire report directory: D:\example\demo\demo.orm\target\surefire-reports ------------------------------------------------------- T E S T S ------------------------------------------------------- Running com.demo.AppTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.015 sec Results : Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 [INFO] [jar:jar {execution: default-jar}] [INFO] Building jar: D:\example\demo\demo.orm\target\demo.orm-1.0.0.jar [INFO] [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] ------------------------------------------------------------------------ [INFO] demo .................................................. SUCCESS [1.547s] [INFO] demo.web Maven Webapp ................................. SUCCESS [1.218s] [INFO] demo.domain ........................................... SUCCESS [0.766s] [INFO] demo.orm .............................................. SUCCESS [1.937s] [INFO] ------------------------------------------------------------------------ [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESSFUL [INFO] ------------------------------------------------------------------------ [INFO] Total time: 5 seconds [INFO] Finished at: Tue Jul 21 15:39:21 CST 2009 [INFO] Final Memory: 16M/29M [INFO] ------------------------------------------------------------------------
- demo.rar (11.8 KB)
- 下载次数: 69
发表评论
-
eclipse启动优化
2013-03-13 17:10 2289我现在的eclipse里面装了不少插件,还有些比较大,像a ... -
eclipse插件开发之一
2012-06-01 14:24 1455记录一下近期eclipse插件开发中遇到的问题以及解决方法: ... -
开启debug功能
2011-12-27 13:41 1444这个是在eclipse中运行debug时候,里面显示的参数, ... -
jsoup 1.6.0的问题
2011-10-10 18:55 1696今天再看一个jsoup的问题时候,发现如下代码会出现问题: ... -
IE中的X-XSS-Protection配置
2011-08-26 17:26 3768Internet Explorer 8 contains a ... -
bean中拿到ApplicationContext对象
2011-06-09 18:52 1893public Object postProcessBefor ... -
Collections.unmodifiableCollection
2011-02-11 13:50 9478Collections.unmodifiableCollect ... -
如何在Java中避免equals方法的隐藏陷阱
2009-06-30 13:33 1053如何在Java中避免equals方 ... -
HTML中空格的问题
2009-05-06 15:14 6230今天碰到了一个关于空格的很奇怪的问题,一个字符串包含有连续的多 ... -
将bean转换为HashMap的通用方法
2009-04-21 17:59 3109import java.lang.reflect.Fiel ... -
HttpURLConnection乱码问题解决
2008-08-04 18:34 45935今天要完成一个程序,要通过后台访问另外一个服务,中间需要传递一 ... -
利用digester来将xml转换为bean
2008-04-30 18:31 3128org.apache.commons.digester这个包提 ...
相关推荐
基于maven创建web项目 ...本文介绍了基于maven创建web项目的步骤,包括搭建maven环境、集成maven到Myeclipse2013和创建maven架构下的WEB工程。通过这篇文章,读者可以学习到如何使用maven来构建和管理web项目。
### Maven 创建 Web 工程详解 #### 一、前言 在现代软件开发过程中,构建工具扮演着极其重要的角色。Maven 是一款流行的自动化构建工具,它不仅简化了项目的构建过程,还为 Java 应用程序提供了标准化的构建生命...
### Maven创建Java工程项目详解 Maven作为Java世界中广受欢迎的构建工具,其强大的功能不仅限于项目的构建,还涵盖了依赖管理、项目信息管理和构建生命周期等多个方面。通过Maven,开发者能够高效地创建、构建和...
本篇文章将详细讲解如何使用Maven创建父子结构工程,以便于更好地组织和管理大型项目。 首先,理解Maven的父子结构(多模块项目)是至关重要的。在大型项目中,通常会将项目划分为多个子模块,每个子模块负责不同的...
本教程将指导您使用 IDEA 创建一个 Maven Web 项目,从安装 Maven 到配置 Maven 环境、创建 Maven 工程、pom.xml 文件配置、依赖管理等。 1. 安装 Maven 在 IDEA 中使用 Maven 之前,需要先安装 Maven。在 Maven ...
在不使用Maven的情况下,在Eclipse中创建Spring Boot工程,你需要手动管理依赖的jar包。以下是一些关于这些jar包及其在Spring Boot项目中的作用的关键知识点: 1. **jboss-logging-3.3.0.Final.jar**:这是一个日志...
本资源提供了一个手动创建的Maven工程示例,有助于初学者理解和掌握如何从零开始构建Maven项目。 首先,我们要理解Maven的核心概念——Project Object Model (POM)。POM是Maven项目的基本配置单元,包含了项目信息...
eclipse结合maven创建web工程截图
#### Maven创建工程 - **命令行创建**:使用`mvn archetype:generate`命令结合指定的模板来快速创建项目。 - **IDE集成**:多数主流IDE(如Eclipse、IntelliJ IDEA)支持通过图形界面创建Maven项目。 #### Maven...
1. **Maven Archetype插件**:Maven Archetype插件是实现逆向工程的核心工具,它可以创建基于模板的新项目。在逆向工程中,Archetype插件会分析已存在的类和资源,生成相应的pom.xml文件以及项目目录结构。 2. **...
Spring Boot 创建 Maven 聚合工程是构建大型、模块化应用程序的一种有效方式。在这个过程中,我们将探讨如何使用 Spring Initializr 和 Maven 来构建一个包含多个子模块的父工程,以便更好地管理和组织代码。 首先...
本文将详细讲解如何在IntelliJ IDEA(Idea)中创建和管理多Maven模块工程,以便更好地组织和协同开发复杂的软件系统。 一、Maven简介 Maven是一个基于项目对象模型(Project Object Model,POM)的概念,它能够自动...
使用ECLIPSE创建MAVEN工程图解 Eclipse 是一个功能强大且广泛使用的集成开发环境(IDE), Maven 是一个基于项目对象模型(POM)的项目管理工具。本文将指导您如何使用Eclipse 创建 Maven 工程,并了解 Maven 的...
本文将指导读者从无到有搭建一个 Maven 工程,包括创建多模块工程、子模块的建立、修改父、子文件、目录结构的调整等内容。 创建 Maven 多模块工程 Maven 多模块工程是指一个项目中包含多个子模块,每个子模块都...
通过Maven创建Spring Boot项目的步骤及其相关知识点可以分为以下几个部分进行详细阐述: ### 一、Maven与Spring Boot简介 - **Maven**: Apache Maven 是一个项目管理和理解工具。基于项目对象模型(POM),Maven ...
本项目工程"spring+maven"整合了这两者,以实现高效且易于维护的Java应用。 首先,让我们深入理解Spring框架的核心概念——依赖注入(Dependency Injection,简称DI)。在"通过注释实现IOC"部分,我们指的是使用...
【使用Maven搭建S2SH工程详解一:创建Struts2工程】 在Java Web开发中,S2SH架构(Struts2 + Spring + Hibernate)是一种常见的应用框架组合,用于构建高效、灵活的企业级应用程序。本篇文章主要讲解如何利用Maven...
【hibernate+maven demo项目工程】是一个基于Hibernate ORM框架和Maven构建工具的示例项目,旨在帮助开发者理解和实践如何在实际开发中整合这两项技术。该项目的主要目的是展示如何利用Maven管理依赖,以及如何配置...