SpringSide是基于SSH架构适用于企业级开发的启动框架。作为业务不是特别定制化的应用,它算是一个不错的起点。
版本3.3.4中,quick-start负责安装maven repository、编译三个示例项目,启动数据库,启动项目等等。而generate-project负责生成eclipse可开发的代码模板。
但如果机器上已经装有Maven版本,则quick-start的Step2编译时会报错:
Exception in thread "main" java.lang.NoClassDefFoundError: org/codehaus/plexus/c
lassworlds/launcher/Launcher
Caused by: java.lang.ClassNotFoundException: org.codehaus.plexus.classworlds.lau
ncher.Launcher
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: org.codehaus.plexus.classworlds.launcher.Launcher
检查bat代码后发现问题出现在
call
%MVN% %OFF_LINE% clean install -Dmaven
.
test.skip=true这一句话。
前面MVN设置为SpringSide自带的2.2.1版,但bin\mvn.bat中会使用系统的M2_HOME,而如果系统中安装了其他版本的MVN,则M2_HOME会被指到其他位置,从而导致编译出错。
一个解决办法是在该步之前覆盖系统中的M2_HOME,在bat中MVN的设置后面添加
set ANT_HOME=%cd%\tools\maven\apache-ant-1.8.1
set M2_HOME=%cd%\tools\maven\apache-maven-2.2.1
再次执行,成功运行。
posted on 2011-03-15 12:11
hello 阅读(922)
评论(0) 编辑 收藏 所属分类:
springside