`
huangmin001
  • 浏览: 51260 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

一个SSH框架的maven archetype

阅读更多
小弟最近利用下班空闲时间学习了SSH框架,顺便做了一个maven的archetype,可以自动产生SSH框架,该框架自带一个TEST示例,SSH的版本是struts2.2,spring2.5和hibernate3.6,包括其他版本依赖都在父POM中统一指定,你可以直接打war包部署运行TEST示例程序,并且允许你动态指定数据库类型和地址,比如你生成的war包需要连接mysql开发库,则只需要执行在项目目录执行mvn clean install即可,如果要连接oracle测试库,则执行mvn clean install -Ptest,oracle即可,目前测试通过的数据库类型为mysql,oracle,sqlserver和sybase的任何版本,具体操作说明请参看附件中的说明文档。

TEST示例程序使用spring和hibernate的注解来管理BEAN,并演示了AOP拦截器,Struts拦截器事务管理器等等功能,集成了c3p0数据库连接池、log4j和slf4j等等插件,所有功能都能正常使用。

要运行mvn命令,你必须在机器上安装JDK1.6并配置了JAVA_HOME,同时下载maven3.0并配置M2_HOME环境变量,你需要下载附件中的struts2-spring2-hibernate3-archetype压缩包,并解压到你的maven本地库根目录,注意不要更改archetype文件夹名称,然后在命令行执行:mvn archetype:generate -DarchetypeGroupId=com.hengtiansoft.archetypes -DarchetypeArtifactId=struts2-spring2-hibernate3-archetype -DarchetypeVersion=1.0-SNAPSHOT 命令即可生成你自己的SSH框架,在执行命令过程中,你只需填写groupId和artifactId(项目名称)即可,其他默认回车即可。另外还有你最好能在eclipse或者netbeans上安装m2eclipse插件便于开发maven项目,你可以修改父POM.xml文件来指定你自己的数据库服务器地址和数据库类型,你甚至可以直接指定缺省数据库地址和类型,而不必每次打war时需要加-P参数(默认是localhost和mysql),有关详细设置,请参阅附件的说明文档。

这个archetype只是为了有些兄弟方便快速搭建SSH框架,并参照TEST示例快速开发,小弟研究不深,还望各位大侠指教,在使用过程中有任何问题请和我探讨,我将很乐意为你效劳 
0
3
分享到:
评论
17 楼 wangduqing1 2011-10-07  
在DOS下执行mvn install时编译通过了;但在执行mvn tomcat:run命令启动时出错了。
SLF4J: Found binding in [jar:file:/C:/.m2/repository/org/slf4j/slf4j-simple/1.6.
2/slf4j-simple-1.6.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.

SLF4J: This version of SLF4J requires log4j version 1.2.12 or later. See also ht
tp://www.slf4j.org/codes.html#log4j_version
log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException: logs\log.log (系统找不到指定的路径。)
        at java.io.FileOutputStream.openAppend(Native Method)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:192)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:116)
        at org.apache.log4j.FileAppender.setFile(FileAppender.java:273)
        at org.apache.log4j.FileAppender.activateOptions(FileAppender.java:152)
        at org.apache.log4j.DailyRollingFileAppender.activateOptions(DailyRollin
16 楼 huangmin001 2011-10-07  
wangduqing1 写道
这些子模块,在往MyEclipse中导的过程中无法识别她是一个web工程,也即不会生成.mymetadata文件。会不会影响你的工程启动!

出了那个web模块是个web工程,其他模块都是java project,myeclipse内核本身是eclipse,因此只要是java project就可以,而且除了web模块,其他工程都是打成jar包依赖的。
15 楼 wangduqing1 2011-10-07  
这些子模块,在往MyEclipse中导的过程中无法识别她是一个web工程,也即不会生成.mymetadata文件。会不会影响你的工程启动!
14 楼 huangmin001 2011-10-07  
wangduqing1 写道
如果要是不将父模块装到myEclipse中去,那么我们如何启动web运行!


命令行下直接到工程目录,执行mvn clean install即可,然后在web/target下就可以看到war包
13 楼 wangduqing1 2011-10-07  
如果要是不将父模块装到myEclipse中去,那么我们如何启动web运行!
12 楼 huangmin001 2011-10-06  
wangduqing1 写道
难道你的这个框架把这些内容都隐藏了吗!我学的MyEclipse搭建的ssh框架都要用到structs.spring.hibernate的配置文件的.xml。


为了达到重用和解耦的目的,maven强烈建议采用模块化开发,因此,struts.xml被部署在web模块的resources根目录下,spring的配置文件被部署在service模块的resources/appcontext目录下,而hibernate.cfg.xml文件被部署在persist模块的resources根目录下。在项目中执行mvn clean install打成war时,出了web模块本身,其他模块都是以JAR包的形式依赖的,这些jar包的资源根目录下就有这些配置文件。

另外,由于本文采用的是hibernate注解+spring注解形式,因此,你会发现service模块下appcontext目录下的配置文件内容很少(只是一些全局sessionFactory和事务管理配置),所有自定义类的装配和切面都在代码中,而hibernate也不再采用mapping xml的映射方式。
11 楼 huangmin001 2011-10-06  
wangduqing1 写道
不知道你能否将maven搭建框架的过程给我详写一个文档!定重谢!我邮箱是wangduqing123456@163.com!不胜感激!我对maven搭建中小项目框架很痴迷!希望能解我心中疑惑!不胜感激!要求是能运行在MyEclipse下!具备国际化能力!


其实很简单,你可以从工程逆向生成maven archetype,命令是:
mvn archetype:create-from-project
比如你可以在刚生成的项目框架根目录下执行此命令,将会在项目的target目录下生成工程的archetype,你只需要在target目录下执行:mvn clean install即可将你的archetype安装到你的本地maven库(这步的操作和我叫你拷贝附件中的archetype到你的maven库道理是一样的),既然你自己的archetype都已经安装了,那么你就可以使用mvn archetype:generate -D.....来生成你自己的项目框架,接下来的事情就和我说的一样了。

注意:通过mvn archetype:create-from-project生成的archetype一般都不能直接使用,需要你进行一些微调,比如硬编码包路径需要换成${package}的动态路径,该路径就是你在使用mvn archetype:generate命令时需要输入的package参数,在archetype-metadata.xml中过滤资源、指定打包策略、配置额外输入参数等等操作,具体如何调整自己的archetype请参考相关书籍,比如《maven权威指南》,《maven实战》等。
10 楼 huangmin001 2011-10-06  
wangduqing1 写道
问题1.执行完mvn eclipse:eclipse来生成eclipse工程时,生成的.class和.project文件在web文件夹下,不能将父模块和其他子模块导入到一起导入的MyEclipse中去。


你需要到项目根目录(即web文件夹的上层目录)下去执行mvn eclipse:eclipse命令,而不是在web模块下执行,执行命令后,会在每个模块的根目录下生成.classpth和.project文件(工程根目录由于不符合java工程结构,所以不会生成.classpath和.project),然后通过myeclipse导入工程即可(工程下的每个模块都会被导入),不过由于eclipse工程采用的是扁平结构,因此模块与模块之间不会自动依赖,子模块也不认识父模块,父模块也不会自动导入,因此你也看不到父模块的POM.xml,这些模块其实是作为普通的java工程单独存在的,每个模块(对于myeclipse来说只是普通java工程)所以依赖的jar包也是静态存在的,并不会因为你修改了pom.xml文件会自动更新依赖,如果需要更新依赖,你只能再次手动执行mvn eclipse:eclipse命令。

要自动管理父子POM继承关系和包依赖关系,强烈建议安装m2eclipse插件,安装完成后,你只需要使用"import..." --- "Existing Maven Projects"选项,选择你的工程根目录即可(注意不是模块根目录),导入后你即可发现父模块和所有继承的子模块。
9 楼 wangduqing1 2011-10-06  
希望能从高手那里学点知识!
8 楼 wangduqing1 2011-10-06  
不知道你能否将maven搭建框架的过程给我详写一个文档!定重谢!我邮箱是wangduqing123456@163.com!不胜感激!我对maven搭建中小项目框架很痴迷!希望能解我心中疑惑!不胜感激!要求是能运行在MyEclipse下!具备国际化能力!
7 楼 wangduqing1 2011-10-06  
难道你的这个框架把这些内容都隐藏了吗!我学的MyEclipse搭建的ssh框架都要用到structs.spring.hibernate的配置文件的.xml。
6 楼 wangduqing1 2011-10-06  
还有如果我要想在你的框架中加入自己的项目,你的structs.spring.hibernate的配置文件的.xml文件从哪里添加。
5 楼 wangduqing1 2011-10-06  
问题1.执行完mvn eclipse:eclipse来生成eclipse工程时,生成的.class和.project文件在web文件夹下,不能将父模块和其他子模块导入到一起导入的MyEclipse中去。
4 楼 huangmin001 2011-10-06  
wangduqing1 写道
请教一下我想要用此框架开发自己的程序应该怎没做!可以的话详述一下!谢谢!一定重谢!我会一直关注一段时间的!

事实上,你可以参考test示例程序进行开发,test示例程序是完全可以跑通的,并且兼容mysql,oracle,ms-sql,sybase数据库,test示例程序只是作为一个模块,你完全可以另外建一个模块和test包并列,并且包结构也参照test示例,比如com.wotao.taotao.persist.test,你则可以新建一个包为:com.wotao.taotao.persist.trade。具体代码请参考test示例。
3 楼 huangmin001 2011-10-06  
wangduqing1 写道
问 一下如何才能将此项目加入到myeclipse。

无论是myeclipse还是eclipse,你都需要m2clipse插件才能导入maven工程,我不知道myeclipse是否集成了m2eclipse插件,如果没有你在线安装,URL为:
http://m2eclipse.sonatype.org/sites/m2e
http://m2eclipse.sonatype.org/sites/m2e-extras
如果你不想安装插件,你可以在项目根目录下执行命令:mvn eclipse:eclipse来生成eclipse工程,然后就可以导入到myeclipse.建议安装m2eclpse插件,方便管理。
2 楼 wangduqing1 2011-10-05  
请教一下我想要用此框架开发自己的程序应该怎没做!可以的话详述一下!谢谢!一定重谢!我会一直关注一段时间的!
1 楼 wangduqing1 2011-10-05  
问 一下如何才能将此项目加入到myeclipse。

相关推荐

    基于Maven的SSH框架搭建

    在这个基于Maven的SSH框架搭建实例中,我们将探讨如何利用这些框架以及Maven构建工具来搭建一个完整的Web项目。 首先,Spring框架是核心,它提供了依赖注入(DI)和面向切面编程(AOP)的功能,以实现松耦合和更好...

    SSH框架+Maven整合(链路信息系统)

    通过上述步骤,一个整合了SSH框架和Maven的项目就构建完成了。这种整合方式能够有效地提高开发效率,减少重复工作,同时也便于团队协作和项目维护。对于初学者来说,理解并掌握SSH与Maven的整合,无疑会为今后的Java...

    Maven下ssh项目框架搭建

    1. **创建Maven项目**:首先,使用Maven的archetype插件创建一个新的Maven项目,选择合适的 archetype 模板,如`maven-archetype-webapp`。 2. **添加SSH依赖**:在pom.xml文件中,添加Spring、Struts2和Hibernate...

    [SSH+Maven+Bootstrap视频教程]_03. 项目的安装部署.zip

    项目的安装部署"中,我们将深入探讨如何在Java环境下使用SSH(Struts2、Spring、Hibernate)框架、Maven构建工具以及Bootstrap前端框架来搭建并部署一个完整的Web项目。这个教程面向的是有一定Java基础,希望进一步...

    maven搭建ssh

    在IT行业中,SSH(Spring、Struts、...通过以上步骤和知识点的学习,你可以成功地使用Maven搭建一个SSH框架的应用,为Java Web开发提供强大的基础。同时,这也会加深你对Maven、SSH框架以及Java Web开发的整体理解。

    基于maven的ssh例子

    接下来,你需要创建一个新的Maven工程,并在`pom.xml`文件中添加SSH框架的依赖,这些依赖会自动从Maven仓库下载到本地。 在Eclipse中,你可以使用Maven的`archetype插件`来快速生成SSH的项目结构。之后,配置Spring...

    [SSH+Maven+Bootstrap视频教程]_第 九 讲.zip

    Maven则是一个强大的项目管理工具,而Bootstrap则是流行的前端开发框架,用于快速构建响应式和移动优先的网站。 首先,让我们详细了解SSH框架: 1. **Struts**:Struts 是一个基于MVC设计模式的Java Web应用框架,...

    Maven的简单使用以及Maven搭建SSH

    2. **创建项目**:使用`mvn archetype:generate`命令可以快速生成一个基本的Maven项目结构。你需要提供groupId、artifactId和version等基本信息。 3. **项目结构**:Maven项目遵循标准目录结构,包括`src/main/java...

    maven ssh实例

    在命令行中,使用`mvn archetype:create`命令,指定相关的groupId、artifactId和version,来生成一个基本的Maven项目结构。 接下来,我们需要在pom.xml文件中添加SSH相关依赖。Spring、Struts2和Hibernate的最新...

    用IDEA创建一个SSH项目.doc

    在本文中,我们将详细介绍如何使用 IDEA 创建一个 SSH 项目,包括项目的创建、配置和启动过程。 创建 Maven Web 项目 首先,我们需要在 IDEA 中创建一个新的 Maven 项目。在 IDEA 中,单击 "File" -&gt; "New" -&gt; ...

    基于intellij的Java ee 的SSH框架的整合文档

    在IntelliJ IDEA中整合SSH框架,可以创建一个功能齐全的Java EE应用程序。 **1. 安装准备** 在开始整合之前,确保已经安装了以下软件: - IntelliJ IDEA 13.1.1:这是一个强大的Java IDE,支持多种框架的开发。 - ...

    Maven简介_SSH整合教程

    1. **创建Maven项目**:首先,使用Maven的archetype插件生成一个基本的Maven项目结构。 2. **添加SSH依赖**:在pom.xml中添加Struts2、Spring、Hibernate以及它们相关依赖的坐标。 3. **配置SSH**:分别配置Struts...

    maven教程-maven教程-maven教程

    Maven还提供了与SSH框架的整合,SSH是指Spring、Struts和Hibernate这三个框架的集合。开发者可以使用Maven来管理这些框架的依赖和构建过程。多模块和继承是Maven的核心特性,允许开发者以模块化的方式来组织和构建...

    maven2搭建hibernate+spring+struts2项目

    本文主要介绍如何使用Maven2搭建一个基于SSH的Web项目。 首先,我们需要理解Maven2的核心功能——项目管理和依赖管理。Maven通过使用一个POM(Project Object Model)文件来定义项目的构建过程和依赖关系,从而简化...

    Maven构建Struts项目

    1. **创建Maven项目**:首先,我们需要创建一个新的Maven项目,通过`mvn archetype:generate`命令可以选择Struts2的archetype来生成基础项目结构。 2. **配置POM.xml**:在POM.xml文件中,添加Struts2、Spring、...

    ssh-idea-maven-create.docx

    在本文中,我们将详细介绍如何使用IntelliJ IDEA (Idea) 2018版本搭建一个基于SSH(Spring、Hibernate、Spring MVC)的Web项目,同时结合Maven 3.x和阿里云镜像,以及Java JDK 1.8。整个过程涉及到项目创建、配置、...

Global site tag (gtag.js) - Google Analytics