在一个偶然的机会,搭建一个Xplanner0.7环境。但是,在这个过程中,遇到很多网上没有提到的问题。为此

编写改文档记录一下个人收获!分享一下。

安装步骤:

1. 下载xplanner

在官网上有很多相关的下载。

官方网址: http://www.xplanner.org/

下载最新版本 xplanner-0.7b7b-war.zip

(现在最新 0.7b7 版分为: xplanner-0.7b7-standalone.zip 和 xplanner-0.7b7-war.zip 这两个:两个版本间的关系:

xplanner-0.7b7-standalone.zip 自带的 tomcat )

本人安装环境 :

JDK 1.6

tomcat6.0

mysql5.1

基于 windows 操作系统

关于这个环境问题( XPlanner 部署在 JDK1.6 上的问题( http://thinking.5ming.org.cn/2008/11/28/xplanner-jdk/ )。发现修改 spring-beans.xml 后也可在 jdk6 下运行。)

在这里说明一下,下个ant0.7就能使用,这里不说明了。

2 生成数据库脚本

在解压后,在其xplanner-0.7b7-war/installer目录下有一个build-db.xml文件,在这个文件中,有一段代码描述关于数据库方面的编译情况。代码如下:

<target name="_hibernate.schema.export" depends="_init">
      <property name="temp.dir" value="build"/>

<java.tool classname="com.technoetic.xplanner.db.hibernate.TransformingSchemaExport" failοnerrοr="true">
          <arg value="${schema.textoutput.option}"/>
          <arg value="--output=${temp.dir}/hibernate_schema.sql"/>
      </java.tool>
   </target>

其实具体情况,看一下com.technoetic.xplanner.db.hibernate.TransformingSchemaExport这个类,就很明显。

参数描述如下:

--quiet               不采用System.out.println输出。

--drop                生成的SQL中是否要有create语句。

--text                 是否要链接到数据库中执行,同时要执行的条件就是数据库连接不能为空!

--output=          定义输出的路径

--format            是否要格式化SQL

--delimiter=

--config=         配置Hibernate的链接信息

如果需要直接生成到数据库中,则需要配置如下信息:

xplanner/web-inf/classes/ 下的 xplanner-custom.properties 成相应的数据库连接

## XPlanner hibernate configuration

hibernate.dialect= com.technoetic.xplanner.db.hibernate.XPlannerMySQLDialect

hibernate.connection.driver_class= com.mysql.jdbc.Driver

hibernate.connection.dbname = 为xplanner工作的数据库

hibernate.connection.url= jdbc : mysql://localhost/xplanner?autoReconnect=true&useUnicode=true&characterEncoding=GBK

注意,编码方式,建议使用UTF-8

hibernate.connection.username = 数据库名称

hibernate.connection.password = 密码

#hibernate.show_sql=false

其原理很简单,主要是根据mapping文件夹中的xml配置信息,进行逆向生成。

按照自己的需要,修改buil-db.xml文件后,直接执行一下命令。前提条件是ant必须已经安装好。ant乱找一个就能用。由于用ant命令生成的脚本,没有分号,不太方便。为此跑到了eclipse下修改源代码并执行代码获得脚本。

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,否则后面你即将无法显示相应的工程,为了这个问题,代码都方便。

3 修复页面错误

当你走到2的时候,你可能会想,应该启动公猫就可以了。事实却想法。需要修复两个页面的错误。

修复1:

目录:xplanner/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())) + "'?')"%>'>
                            <html:img page="/images/delete.gif" alt="delete" border="0"/>
                            <xplanner:linkParam id="oid" name="note" property="id"/>
                        </xplanner:link>

将<%="return confirm('Do you want to delete note '" + StringUtilities.replaceQuotationMarks(StringEscapeUtils.escapeJavaScript(note.getSubject())) + "'?')"%>提取出来,用个变脸给替换一下就可以;

修复2:

目录:xplanner/WEB-INF/jsp/common

页面名称:footer.jsp

错误页面代码:

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

将arg2="<%=appUrl+"/do/systemInfo"%>提出出来,采用一个变量替换。

刚装完,发现有连个地方错误。

4 建立站点。按照自己的想法建就可以。

5 登陆进去,用户:sysadmin密码:admin

6. 总结

在使用过程中,可能是本人操作有误,或者没使用明白。发现所建的工程没有分配给任何人,同时未能sysadmin为能看到所建的工程。也就是说,在建完工程后,就会消失。为此,在网上找了很久都没找到结果。这里加个关键字,后人来找“xplanner无工程显示”。 本人自己手动在iteration下加条记录,就能看到。看了里面的源代码发现,每次去的时候,会通过db:usebeans标签进行取出所有的工程,然后再过滤,过滤代码在projects页面上就能找到。

<%
    // todo Refactor this to a security helper class
    final HttpServletRequest r = request;
    CollectionUtils.filter(projects, new Predicate() {
        public boolean evaluate(Object o) {
            try {
                Project project = (Project)o;
                return SystemAuthorizer.get().hasPermission(project.getId(),
                            SecurityHelper.getRemoteUserId(r), project, "read");
            } catch (AuthenticationException e) {
                return false;
            }
        }
    });
%>

在取出所有的iteratio进行匹配,为此,工程取到了,但是没有相应teration,是看不到工程的。

一切看代码吧,真理在里面。

Xplanner0.7安装相关推荐

  1. linux环境下nacos的安装+启动,阿里云服务器安装nacos

    nacos安装+启动(linux环境): 基础:安装java环境 官网下载压缩包:如 nacos-server-1.2.1.tar.gz 放在自定义目录下 # 解压 tar -xvf nacos-se ...

  2. Alibaba Cloud Linux 2.1903 LTS 64位服务器yum源下载404,Alibaba Cloud Linux 2实例中使用docker-ce、epel等YUM源安装软件失败

    [Alibaba Cloud Linux 2.1903 LTS 64位]服务器yum源下载404 failure: repodata/repomd.xml from docker-ce-stable: ...

  3. Linux下docker安装配置oracle,oracle创建用户并远程连接,实测可用!

    最近在给同学弄毕业设计的数据库,因为oracle在个人电脑上极不稳定,所以他的电脑数据库崩溃了,这时候我就在docker上为他拉了一个oracle,解决了问题. docker的安装共有以下几步,实测没 ...

  4. 在docker上安装部署tomcat项目 超简单,拿来主义

    在docker中部署tomcat,非常简单,而且省去了手动安装jdk等步骤,只需要将war包复制在容器tomcat实例中的webapps下面即可.以下将详细讲解流程: 在windows中打好包以后用w ...

  5. docker一步安装mysql,docker的魅力就在于此

    正常来说,使用docker安装东西的步骤是serach它有没有,然后pull它 这里其实只要一步(如果你没有安装过.没有端口占用等问题的话!!) $ docker run -d -p 3306:330 ...

  6. Linux下tomcat的安装与卸载以及配置(超简单)

    无敌简单的几步 1.安装 //首先你需要下载好tomcat包 sudo tar -xvzf apache-tomcat-7.0.85.tar.gz(这里是包名) -C 你要放的位置 2.卸载 rm - ...

  7. Linux下安装Java8

    Linux(ubuntu)下Java8安装 1.下载jdk8 这个看大家了,linux版本的就可以 2.创建jvm文件夹 在根目录下创建名为jvm的文件夹(在哪里创建看个人) $ sudo mkdir ...

  8. Linux安装mysql,一步到位!

    今天在腾讯云上面买了一个服务器,想要把自己的项目部署一下,就要安装mysql,以下是我的安装步骤,在网上有很多人把install敲错了,还有的少-get,种种错误试完之后,我决定发一篇 sudo ap ...

  9. Maven安装与配置(最实用!!!)eclipse中配置maven

    Maven安装与配置 一.需要准备的东西 JDK Eclipse(本章主要是在eclipse中进行配置maven) Maven程序包 二.下载与安装 1. 前往maven下载最新版的Maven程序: ...

最新文章

  1. linux硬链接与软链接
  2. matlab函数画图创建gui,如何在MATLAB中的函数内创建GUI?
  3. Form表单提交按钮图片IE6下背景透明(js提交)
  4. JSP第十四次课:JSP项目开发高级操作2---在线编辑器应用及前台首页显示商品
  5. swiper踩过的哪些坑
  6. mysql使用cmd命令连接_通过cmd命令连接mysql
  7. 华为苏州人工智能研发基地揭牌 将容纳上万名工作人员
  8. angular 实现无限极联动下拉
  9. spring整合quartz框架
  10. 什么是java 前端_java前端后端分别是指什么?
  11. z反变换计算机控制,计算机控制4.Z变换.ppt
  12. grep、cut、sed、awk
  13. [渝粤教育] 中国地质大学 信息资源管理 复习题
  14. div+css画六边形
  15. POJ:3276-Face The Right Way(线性反转)
  16. 印刷行业中过UV是什么意思?
  17. ApowerREC 1.2.4破解版 亲测能用
  18. Saliency as Evidence: Event Detection with Trigger Saliency Attribution 论文解读
  19. AM335x启动流程(bootrom)
  20. 西南科技大学数电FPGA第一次实验报告

热门文章

  1. TFN系列DC700S手持式监测接收机
  2. 计算几何基础——点积和叉积
  3. 全球与中国1,2,4-三氟苯市场深度研究分析报告
  4. AI竞赛服务平台—— FlyAI
  5. 安科瑞医用隔离电源系统在浙江某医院项目中的应用
  6. vue跳转后不记录历史记录
  7. SBA of anr/watchdog timeout
  8. linux6 telnet安装,RHEL6安装telnet服务
  9. vue--elementUI
  10. git commit前进行checkstyle --pre-commit并优化了checkstyle速度