- 浏览: 147589 次
- 性别:
- 来自: 杭州
最新评论
-
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 2256我现在的eclipse里面装了不少插件,还有些比较大,像a ... -
eclipse插件开发之一
2012-06-01 14:24 1395记录一下近期eclipse插件开发中遇到的问题以及解决方法: ... -
开启debug功能
2011-12-27 13:41 1351这个是在eclipse中运行debug时候,里面显示的参数, ... -
jsoup 1.6.0的问题
2011-10-10 18:55 1659今天再看一个jsoup的问题时候,发现如下代码会出现问题: ... -
IE中的X-XSS-Protection配置
2011-08-26 17:26 3713Internet Explorer 8 contains a ... -
bean中拿到ApplicationContext对象
2011-06-09 18:52 1857public Object postProcessBefor ... -
Collections.unmodifiableCollection
2011-02-11 13:50 9410Collections.unmodifiableCollect ... -
如何在Java中避免equals方法的隐藏陷阱
2009-06-30 13:33 992如何在Java中避免equals方 ... -
HTML中空格的问题
2009-05-06 15:14 6187今天碰到了一个关于空格的很奇怪的问题,一个字符串包含有连续的多 ... -
将bean转换为HashMap的通用方法
2009-04-21 17:59 3075import java.lang.reflect.Fiel ... -
HttpURLConnection乱码问题解决
2008-08-04 18:34 45842今天要完成一个程序,要通过后台访问另外一个服务,中间需要传递一 ... -
利用digester来将xml转换为bean
2008-04-30 18:31 3092org.apache.commons.digester这个包提 ...
相关推荐
maven创建web工程
maven创建父子结构工程
在eclipse中不使用maven创建springboot工程所需jar包,一共32个。亲测各包兼容,完美运行。
基于maven创建web项目 基础环境 Myeclipse2013 Tomcat8.0 Jdk1.8 apache-maven-3.3.9 环境配置
此文件是我个人搜索了好久才找到的,文档略加了一下修改
使用Maven搭建S2SH工程详解一:使用Maven创建struts2工程
eclipse结合maven创建web工程截图
idea+springboot+maven工程创建,通过IDEA创建maven工程,配置mybatis
该资源包含了一个手动创建的maven工程,简单易懂,喜欢的下载。可以参考博客http://blog.csdn.net/mockingbirds/article/details/47302815
MVN MAVEN 父子工程 父子目录 eclipse
本文是开发笔记和教程,主要说明了使用springboot从0开始,完成了创建maven聚合工程,搭建使用了springboot modules工程。 同时,项目搭建的源码开源分享。此文是springboot初学者,搭建多模块项目的推荐文章。
创建maven工程详细步骤
在idea中创建多maven模块工程。 同时在一个idea窗口中打开多个已有的工程,便于管理和查看。
eclipse 创建maven 项目 动态web工程完整示例,新建maven,到发布案列,从零开始学习
提供了maven的驱动,setting模板和idea使用指南。详细介绍了maven的安装及配置过程,idea内使用maven创建工程的流程。
使用maven创建了简单的gwt工程,解压后使用mvn clean package命令即可编译生成服务器部署时需要的war包
MyEclipse 下maven 创建工程 catalog的问题、 无Archetype选择项问题、Filter为空 Maven archetype-catalog.xml
空白的,经过单元测试的,mavenWeb项目
Maven工程创建并整合spring MVC示例,包括完整的文档。