您的位置:首页 > 编程语言 > Java开发

mave-用maven创建基础的struts2+spring+hibernate之创建空白struts2项目

2011-08-30 11:32 666 查看
最近学习了一下maven,为了把理论用于实践,尝试的构建一下最基本的最基础的S2SH项目,可能我的理解有所偏差或者有误,

希望大家多多指点。maven安装说明省略,直接开始创建的struts2项目。

一、创建struts2工程

1. 基于apache仓库提供的struts2-archetype-starter 创建模板工程。

进入项目文件夹:E:\eclipse_galileo\workspace ---这个是我们的项目文件夹

打开cmd,进入项目文件夹:


执行下面maven语句:

mvn archetype:create -DgroupId=cn.mys2sh.web.action -DartifactId=webProject -DarchetypeGroupId=org.apache.struts -DarchetypeArtifactId=struts2-archetype-starter -DarchetypeVersion=2.3.1-SNAPSHOT
-DremoteRepositories=http://repository.apache.org/snapshots



webProject:为项目名

cn.mys2sh.web.action:创建了action目录

2.3.1-SNAPSHOT:最新的版本-2011.8.26

2.用maven创建成功后的struts2工程文件结构



src/main/java:java代码目录

src/main/resources:资源文件目录

src/test/java:测试代码目录

src/test/resources:测试用资源文件目录

3.将创建好的工程导入eclipse:

在把工程导入之前,首先修改E:\eclipse_galileo\workspace\webProject\pom.xml,打开文件

<?xml version="1.0" encoding="UTF-8"?>

<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>cn.mys2sh.web.action</groupId>
<artifactId>webProject</artifactId>
<packaging>war</packaging>
<version>2.2.3</version>
<name>Struts 2 Starter</name>
<url>http://www.myComp.com</url>
<description>Struts 2 Starter</description>

<properties>
<struts2.version>${project.version}</struts2.version>
</properties>


(1)将项目版本(project节点下的version )改为最新的struts2版本2.2.3,也可以修改为其他版本,看个人需要。

(2)另一种方法,同时也可以直接修改struts2.version,不一定引用工程版本,推荐此方法。

进入工程目录:



执行maven命令,把工程添加到eclipse:mvn eclipse:eclipse

4.通过eclipse的import把工程导入ide:



找到工程webProject:(因为我工程已经导入,所以finish按钮不能用了)



点击 finish,完成项目导入。附导入成功后的文档结构:



pom.xml文件内容

<?xml version="1.0" encoding="UTF-8"?>

<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>cn.mys2sh.web.action</groupId>
<artifactId>webProject</artifactId>
<packaging>war</packaging>
<version>1.0</version>
<name>Struts 2 Starter</name>
<url>http://www.myComp.com</url>
<description>Struts 2 Starter</description>

<properties>
<struts2.version>2.2.3</struts2.version>
</properties>

<dependencies>
<!-- Junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>

<!--  Struts 2 -->
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>${struts2.version}</version>
</dependency>

<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-sitemesh-plugin</artifactId>
<version>${struts2.version}</version>
</dependency>

<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-spring-plugin</artifactId>
<version>${struts2.version}</version>
</dependency>

<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-config-browser-plugin</artifactId>
<version>${struts2.version}</version>
</dependency>

<!-- Servlet & Jsp -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.4</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>

<!-- Jakarta Commons -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.1.1</version>
</dependency>

<!-- Dwr -->
<dependency>
<groupId>uk.ltd.getahead</groupId>
<artifactId>dwr</artifactId>
<version>1.1-beta-3</version>
</dependency>
</dependencies>

<build>
<finalName>webProject</finalName>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.21</version>
<configuration>
<scanIntervalSeconds>10</scanIntervalSeconds>
<scanTargets>
<scanTarget>src/main/webapp/WEB-INF</scanTarget>
<scanTarget>src/main/webapp/WEB-INF/web.xml</scanTarget>
<scanTarget>src/main/resources/struts.xml</scanTarget>
<scanTarget>src/main/resources/applicationContext.xml</scanTarget>
</scanTargets>
</configuration>
</plugin>
</plugins>
</build>
</project>


5.配置调试容器jetty

插件org.mortbay.jetty是为后面用它来调试做准备,有了jetty通过轻松配置就可以实现比TOMCAT更快更便捷的容器。

(1)配置容器jetty:打开菜单run->External Tools Configuration...



配置参数



Location:为mvn完整命令行,C:\Program Files\Apache Software Foundation\apache-maven-3.0.3\bin\mvn.bat。

Working Directory:为本项目webProject

Arguments:jetty:run

再点选Enviroment页:加入MAVEN_OPTS变量,值为:

-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=y

其中,如果suspend=n 表示不调试,直接运行。

然后,点APPLY,再关闭本对话框。

(2)新建运行配置



选中左树中的Remote Java Application,再点New。

选择你的项目,关键是要填和之前设置外部工具时相同的端口号(4000)。



先启动jetty容器



然后dubug项目webProject



输入下面的地址就可以访问测试页面了
http://localhost:8080/webProject


(因为我用的是struts2的2.2.3版本,但是main.jsp里面引用的一个nifty.js,查到在2.0.6版本包含着,但是在2.2.3中就没了。参考http://susa.wikidot.com/struts2)



后记:

在ECLIPSE中,有更方便高效的调试方式,点这里
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: