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

最近学习了一下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中,有更方便高效的调试方式,点这里

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值