xplanner-0.7b7b 部署问题解决

xplanner-0.7b7b 部署问题解决

很早的时候就想尝试使用XPlanner,但是一直都没有成功,感觉很简单

但是运行时总是报spring的一个配置文件出错

今天终于在网上找到解决方案了

原来是因为XPlanner部署在JDK1.6上的问题

http://jira.codehaus.org/browse/XPR-391

错误如下:

ERROR – alina].[localhost].[/xplanner] – Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘metaRepository’ defined in class path resource [spring-beans.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyAccessExceptionsException: PropertyAccessExceptionsException (1 errors); nested propertyAccessExceptions are: [org.springframework.beans.TypeMismatchException: Failed to convert property value of type [org.apache.commons.collections.map.LinkedMap] to required type [java.util.HashMap] for property ‘repositories’]
PropertyAccessExceptionsException (1 errors)
org.springframework.beans.TypeMismatchException: Failed to convert property value of type [org.apache.commons.collections.map.LinkedMap] to required type [java.util.HashMap] for property ‘repositories’
at org.springframework.beans.BeanWrapperImpl.doTypeConversionIfNecessary(BeanWrapperImpl.java:839)
at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:584)
at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:469)

原来是spring-beans.xml文件中的问题

就是这个部分

<bean id=”metaRepository” class=”com.technoetic.xplanner.domain.repository.MetaRepositoryImpl”>
<property name=”repositories”>
<map>

com.technoetic.xplanner.domain.repository.MetaRepositoryImpl的repositories需要一个map,

spring中使用使用的实现是org.apache.commons.collections.map.LinkedMap

但是org.apache.commons.collections.map.LinkedMap实现了java.util.Map接口啊!

理论上应该的可以的啊!但是却出现了转化错误,没有找到原因,但是找到了解决方案啊!

把<property name=”repositories”><map>……</map></property>

修改为

<property name=”repositories”>
<bean class=”java.util.HashMap”>
<constructor-arg>

<map>…..</map>
</constructor-arg>
</bean>

</property>

就可以了啊!

 

还有两个问题。。。。

 

1.JSP页面错误

WEB-INF/jsp/view/notes.jsp

 

 原来的: <xplanner:link page=”/do/delete/note” οnclick='<%=”return confirm(‘Do you want to delete note ‘” + StringUtilities.replaceQuotationMarks(StringEscapeUtils.escapeJavaScript(note.getSubject())) + “‘?’)”%>’>

替换成:<xplanner:link page=”/do/delete/note” οnclick='<%=”return confirm(/’Do you want to delete note /'” + StringUtilities.replaceQuotationMarks(StringEscapeUtils.escapeJavaScript(note.getSubject())) + “/’?/’)”%>’>

WEB-INF/jsp/common/footer.jsp

 

原来的:<bean:message key=”footer.message” arg0=”<%=productionSupportEmail%>” arg1=”<%=issueLink%>” arg2=”<%=appUrl+”/do/systemInfo”%>”/>

替换成:<bean:message key=”footer.message” arg0=”<%=productionSupportEmail%>” arg1=”<%=issueLink%>” arg2=”<%=appUrl+/”/do/systemInfo/”%>”/>

 

2.用户怎么不能登陆?

ant命令: ant install.db.schema(改命令是完全可用的,只是生成的SQL文件每句后面没有分号)

然后把的到得脚本在数据库里执行,就可以了。

数据库的库表结构搭建完成。网上很多地方都说到这里,就结束。事实上并没有完成。还需要一些初始化的工作。官网提供的脚本中,存在错误。那是由于0.6的版本的脚本,参合到0.7中。同时在这里也说明一个开源的弊端。

具体初始化脚本在xplanner/WEB-INF/classes/patches目录下。里面的很多脚本基本上没有用,有用的只是patch0002_bootstrap_users_and_permissions.sql。这个数据库脚本的主要作用就是生成一个管理员账号和定义具体的任务规则。但是,这个官网版本执行会直接报错(至少在mysql 5.0 下报错)。为此,需要删除掉该脚本下的所有关于permission 的插入操作。会缺少一个字段的值。

INSERT INTO permission VALUES(6,5,’%’,’%’,0, 1);
INSERT INTO permission VALUES(7,3,’-create.project’,’system.project’,0, 1);
INSERT INTO permission VALUES(8,3,’-create.person’,’system.person’,0, 1);
INSERT INTO permission VALUES(9,4,’-create.project’,’system.project’,0, 1);
INSERT INTO permission VALUES(10,4,’admin%’,’%’,0, 1);
INSERT INTO permission VALUES(11,3,’create%’,’%’,0, 1);
INSERT INTO permission VALUES(12,3,’edit%’,’%’,0, 1);
INSERT INTO permission VALUES(13,3,’integrate%’,’%’,0, 1);
INSERT INTO permission VALUES(14,3,’delete%’,’%’,0, 1);
INSERT INTO permission VALUES(15,2,’read%’,’%’,0, 1);

还有件重要的是,后面的positive这个字段一定要给1,否则后面你即将无法显示相应的工程,为了这个问题,代码都方便。

 

参考

安装:http://www.8100.cc/space-2034-do-blog-id-7091.html

修改JSP:http://archive.codehaus.org/lists/org.codehaus.xplanner.scm/msg/20081101164932.CB68214A808A@codehaus01.managed.contegix.com

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100517.html原文链接:https://javaforall.net

(0)
上一篇 2021年5月7日 上午10:00
下一篇 2021年5月7日 下午12:00


相关推荐

  • Pycharm 更换地址源

    Pycharm 更换地址源清华 https pypi tuna tsinghua edu cn simple 豆瓣 http pypi douban com simple 阿里 http mirrors aliyun com pypi simple

    2026年3月27日
    2
  • oracle数据库菜鸟入门

    oracle数据库菜鸟入门所有应用软件之中,数据库可能是最复杂的。MySQL的手册有3000多页,PostgreSQL的手册有2000多页,Oracle的手册更是比它们相加还要厚。但是,自己写一个最简单的数据库,做起来并不难。Reddit上面有一个帖子,只用了几百个字,就把原理讲清楚了。下面是我根据这个帖子整理的内容。一、数据以文本形式保存第一步,就是将所要保存的数据,写入文本文件。这个文本文件就是你的数据库。为了方便读取,数据必须分成记录,每一条记录的长度规定为等长。比如,假定每条记录的长度是800字节,那

    2022年8月30日
    5
  • OpenClaw完全安装指南:从零开始搭建你的AI助手平台

    OpenClaw完全安装指南:从零开始搭建你的AI助手平台

    2026年3月13日
    2
  • 解决windowlocationhref不跳转的 BUG「建议收藏」

    解决windowlocationhref不跳转的 BUG「建议收藏」今晚写了代码发现了一个小BUG,记录下。&lt;form&gt;———&lt;p&gt;&lt;!–下面按钮–&gt;&lt;divclass="footerContainer"&gt;&lt;buttonid="nextStep"onclick="skip()&q

    2022年7月15日
    16
  • Spring boot Mybatis 整合(注解版)

    Spring boot Mybatis 整合(注解版)之前写过一篇关于springboot与mybatis整合的博文,使用了一段时间spring-data-jpa,发现那种方式真的是太爽了,mybatis的xml的映射配置总觉得有点麻烦。接口定义和映射离散在不同的文件中,阅读起来不是很方便。于是,准备使用mybatis的注解方式实现映射。如果喜欢xml方式的可以看我之前的博文:SpringbootMybatis整合(完整版)开发环境:开

    2022年6月9日
    26
  • oracle删除数据索引还会在吗_索引数据频繁修改

    oracle删除数据索引还会在吗_索引数据频繁修改首先查到表中的现有索引:select*fromuser_indexeswheretable_namein(‘表名’,”);删除索引:dropindex索引名;

    2025年9月14日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号