环境 myeclipse6.5 jdk1.6 apache-tomcat-7.0.56 mysql5.1
红薯提供的sql文件,导入会有错误。这里我提供一个。
/* Navicat MySQL Data Transfer Source Server : localhost Source Server Version : 50538 Source Host : localhost:3306 Source Database : nextapp Target Server Type : MYSQL Target Server Version : 50538 File Encoding : 65001 Date: 2014-11-28 11:41:57 */ SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for `nap_apps` -- ---------------------------- DROP TABLE IF EXISTS `nap_apps`; CREATE TABLE `nap_apps` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user` int(11) NOT NULL, `site` varchar(32) NOT NULL, `name` varchar(16) NOT NULL, `outline` text, `type` tinyint(4) NOT NULL, `ico` varchar(64) DEFAULT NULL, `logo` varchar(64) DEFAULT NULL, `welcome` varchar(64) DEFAULT NULL, `style` varchar(16) DEFAULT NULL, `guid` varchar(40) NOT NULL, `domain` varchar(64) NOT NULL, `home_url` varchar(64) NOT NULL, `plugin_url` varchar(64) NOT NULL, `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `status` varchar(255) DEFAULT NULL, `error_code` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `idx_app_guid` (`guid`), UNIQUE KEY `idx_app_domain` (`domain`), KEY `fk_site_user` (`user`) ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=gbk; -- ---------------------------- -- Records of nap_apps -- ---------------------------- -- ---------------------------- -- Table structure for `nap_openids` -- ---------------------------- DROP TABLE IF EXISTS `nap_openids`; CREATE TABLE `nap_openids` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user` int(11) NOT NULL, `name` varchar(32) DEFAULT NULL, `openid` varchar(64) NOT NULL, `type` tinyint(4) NOT NULL, `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `last_login` datetime DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `idx_openid` (`openid`,`type`), KEY `idx_openid_user` (`user`) ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=gbk; -- ---------------------------- -- Records of nap_openids -- ---------------------------- -- ---------------------------- -- Table structure for `nap_repositories` -- ---------------------------- DROP TABLE IF EXISTS `nap_repositories`; CREATE TABLE `nap_repositories` ( `id` int(11) NOT NULL AUTO_INCREMENT, `client_type` tinyint(4) NOT NULL, `version` varchar(16) NOT NULL, `src` varchar(64) NOT NULL, `pub_date` date NOT NULL, `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `changelog` text, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=gbk; -- ---------------------------- -- Records of nap_repositories -- ---------------------------- INSERT INTO `nap_repositories` VALUES ('1', '1', '1.0', 'D:\\workplaces\\android\\NextApp', '2014-11-27', '2014-11-28 10:10:24', null); -- ---------------------------- -- Table structure for `nap_users` -- ---------------------------- DROP TABLE IF EXISTS `nap_users`; CREATE TABLE `nap_users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(32) NOT NULL, `email` varchar(64) DEFAULT NULL, `phone` varchar(16) DEFAULT NULL, `validation` char(8) NOT NULL, `status` tinyint(4) NOT NULL, `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=gbk; -- ---------------------------- -- Records of nap_users -- ---------------------------- -- ---------------------------- -- Table structure for `nap_versions` -- ---------------------------- DROP TABLE IF EXISTS `nap_versions`; CREATE TABLE `nap_versions` ( `id` int(11) NOT NULL AUTO_INCREMENT, `app` int(11) NOT NULL, `version` int(11) NOT NULL, `client_type` tinyint(4) NOT NULL, `app_path` varchar(64) DEFAULT NULL, `dl_count` int(11) NOT NULL, `build_status` tinyint(4) NOT NULL, `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `build_begin_time` datetime DEFAULT NULL, `build_end_time` datetime DEFAULT NULL, PRIMARY KEY (`id`), KEY `FK_fk_app_version` (`app`), KEY `FK_fk_version_repository` (`version`) ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=gbk; -- ---------------------------- -- Records of nap_versions -- ---------------------------- INSERT INTO `nap_versions` VALUES ('1', '1', '1', '1', null, '0', '0', '2014-11-28 10:22:32', null, null);
这个是我测试成功的,不用担心运行不起来。。。 2个表数据之前是没有的,经过我自己手动添加,现在能自动生成配置文件了
先说说这个网站平台的工作:
1、登陆 因为都是通过第三方接口登陆,又因为在本地部署 又因为时间太久了 登陆qq没法,没来想改改代码跳过登陆,想了想麻烦。 随手点了下gmail 居然可以登陆。
我是修改的本地的hosts 添加了
127.0.0.1 www.nextapp.cn
2. 用户填写网站资料,验证通过后,上传图片,数据写入到数据库
3. 在临时目录建立文件夹,并生成 build_android.properties,build_wp7.properties,build_ios.properties
4、然后通过auto_build.bat 进行构建安装包
流程基本是这样的。
那么跑起来吧
修改数据库连接
nextapp\src\my\db\db.properties
修改配置信息 nextapp.conf 修改为你自己的信息
#该文件存放NextApp系统的一些配置信息
BUILD_SOURCE=D:/workplaces/myeclipse/nextapp #临时目录
BUILD_TARGET=D:/workplaces/myeclipse/ #生成app存放的地方
编译--部署到tomcat --运行
经过了资料提交,进入了审批环节。我们直接进行手动审批,访问
www.nextapp.cn/admin
点击审批 ,进入 分析代码
cn.nextapp.platform.action;
AdminAction。java
private void approve(RequestContext ctx, App app) throws IOException {
app.approve();
for(Version ver : app.versions()){
_GenerateBuildFiles(app, ver);
}
}
点击的审批通过要执行的代码。如果你用红薯的那套sql 会在这个地方卡住。 因为 这个for循环 不执行,原因是
nap_versions app版本信息表
nap_repositories 客户端版本库 这两个表内容是空的。我手动搜了下项目没有一个insert操作!
我理解的过程是通过approve传过来 当前app的信息。 如果当前app在 nap_versions表里面没有信息的话,就不会进入for。
整个项目又没有insert操作,先啥都不管,运行起来再说!那么进行自己写数据
INSERT INTO `nap_versions` VALUES ('1', '1', '1', '1', null, '0', '0', '2014-11-28 10:22:32', null, null);
INSERT INTO `nap_repositories` VALUES ('1', '1', '1.0', 'D:\\workplaces\\android\\NextApp', '2014-11-27', '2014-11-28 10:10:24', null);
写 nap_repositories 的目的是为了能有生成客户端的版本信息。