posts - 6,  comments - 15,  trackbacks - 0

使用maven2 构建 Webapp应用程序
基于以下框架:
spring,hibernate,webwork.2.2.2
1. mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-webapp -DarchetypeArtifactId=maven-archetype-webapp
2. 添加main/java test/java 文件夹
3. 构建pom.xml.添加相关依赖:
注意以下几点,
      spring:使用id:org.springframework
      hibernate:  org.hibernate
中途会出现错误。因为jta下载不到,因为licenese的原因
jta需要自己下载:java.sun.com/products/jta
下载回来后 使用jar命令打包 放到本地Repo。
4.配置pom
<resources>
   <resource>
    <directory>src/main/resources</directory>
   </resource>
   <resource>
    <directory>src/main/java</directory>
    <includes>
     <include>**/*.xml</include>
    </includes>
   </resource>
  </resources>
  <testResources>
   <testResource>
    <directory>src/test/resources</directory>
   </testResource>
   <testResource>
    <directory>src/main/webapp</directory>
    <includes>
     <include>**/*.xml</include>
    </includes>
   </testResource>
  </testResources>
5.我们用到了jetty6来自动化部署
<plugins>
  <plugin>
    <groupId>org.mortbay.jetty</groupId>
    <artifactId>maven-jetty6-plugin</artifactId>
   <version>6.0.0beta14</version>      
   </plugin>
  </plugins>
mvn package 之后可以mvn jetty6:run
启动之后,可以在另一个进程 mvn compile.冒死可以热交换
在mvn jetty6:run的console Ctrl+c可以停止进程
6.文件放置位置:
resource/ :
log4j.xml ,webwork相关,ehcache.xml, spring配置文件的properties文件,比如jdbc.properties
webapp/web-inf  :
applicationContext,web.xml
hbm放在java里面
7. 其他相关
在webwork2.2中,不再需要通过ActionAutoWiringInterceptor来给Action注入Spring的bean(这种方式仍然保留在xwork1.1中),改用了另一种更加方便的方式WebWorkSpringObjectFactory,配置方式如下:
在webwork.properties中加入如下配置内容:

webwork.objectFactory=spring
#以下配置可选
#webwork.objectFactory.spring.autoWire=name这样就可以了,
在Action中声明需要某Spring bean,就会自动注入进来。

autowire的方式有四种:name,type,auto,constructor,默认方式是name,autowire语义是Spring的语义
另外不推荐用spring管理action

posted on 2006-04-21 10:09 jbob 阅读(2606) 评论(6)  编辑  收藏 所属分类: maven

FeedBack:
# re: maven2 体验[5]
2007-04-26 22:49 | new
问个问题

按照maven 主页上的例子

mavn archetype:create -DarchetypeGroupId=org.apache.maven.archetypes -DgroupId=com.m
ycompany.app -DartifactId=my-app

然后
mvn test 报错

..............
nested exception is java.lang.ClassNotFoundException: com.mycompany.app.AppTest
java.lang.ClassNotFoundException: com.mycompany.app.AppTest
at java.net.URLClassLoader$1.run(URLClassLoader.java:199)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)

碰到过么?如何解决?


  回复  更多评论
  
# re: maven2 体验[5][未登录]
2007-04-27 08:50 | jbob
@new
这个我没有遇见过,你看看路径里面有没有这个类  回复  更多评论
  
# re: maven2 体验[5][未登录]
2007-10-12 12:22 | sclsch
解决了吗?  回复  更多评论
  
# re: maven2 体验[5]
2008-01-10 19:35 | 礼物
没有编译,你需要先执行 mvn comlipe  回复  更多评论
  
# re: maven2 体验[5]
2008-05-20 21:47 | 章海峰
你好,最近看到你blog上面Maven2的文章,自己配置了下有点问题请教你。
1.我第一次运行mvn archetype:create后从网上把要用的包下到了资源库里,第二次我网断了,再运行这个命令就出下面的错误,是不是一定要连网才可以运行啊?还是在哪里指定路径啊?请指教,谢谢。
C:\maven-2.0.9\project>mvn archetype:create -DgroupId=com.mycompany.app -Dartifa
ctId=my-app
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'archetype'.
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO] task-segment: [archetype:create] (aggregator-style)
[INFO] ------------------------------------------------------------------------
[INFO] Setting property: classpath.resource.loader.class => 'org.codehaus.plexus
.velocity.ContextClassLoaderResourceLoader'.
[INFO] Setting property: velocimacro.messages.on => 'false'.
[INFO] Setting property: resource.loader => 'classpath'.
[INFO] Setting property: resource.manager.logwhenfound => 'false'.
[INFO] [archetype:create]
[WARNING] This goal is deprecated. Please use mvn archetype:generate instead
[INFO] Defaulting package to group ID: com.mycompany.app
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Failed to resolve artifact.
Error transferring file
org.apache.maven.archetypes:maven-archetype-quickstart:jar:1.0
from the specified remote repositories:
central (http://repo1.maven.org/maven2)
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 14 seconds
[INFO] Finished at: Sun Jul 27 21:35:04 CST 2008
[INFO] Final Memory: 8M/14M
[INFO] ------------------------------------------------------------------------
  回复  更多评论
  
# re: maven2 体验[5]
2008-05-21 11:22 | guest
我这个地方已经不维护了,
你最好清空你的repository,然后连上网,重新来一次。  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 

<2008年5月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

常用链接

留言簿(3)

随笔分类

随笔档案

生活感悟

顺手

搜索

  •  

最新评论

阅读排行榜

评论排行榜