API和schema开发过程问题汇总
场景:在日常工作中很多都是重复性的劳动,有的坑踩过一次下次很可能还回踩到,所以很有必要将这些问题记录下来,提升工作效率!
1 API
2 schema
- 问题:提示schame中有元素没有定义

这个时候需要在所有schema文件中进行全文搜索比对没有定义的元素,然后进行定义即可。这里推荐是用sublime的全文搜索。
ctrl+shift+F 在文件夹内查找,与普通编辑器不同的地方是sublime允许添加多个文件夹进行查找
3 lfcp-tset
3.1 windows部署可执行jar包进行测试
windows下执行可执行jar包过程:
- 测试类:
package tt;
/**
* @author lxw
* @describe
* @date 2017年6月23日 上午10:43:28
*/
public class Hello {
public static void main(String[] args){
String args0 = args[0]; //命令行接受的参数,后期改造可以用于读取文件中的数据
String args1 = args[1];
System.out.println("Hello,args0:"+args0+",arg1:"+args1);
} }
- 导出jar包:
Export——> Java——>Runable JAR File

- 在jar所在的目录下,打开命令行窗口,执行命令
java -jar tt.jar 00 01

3.2 linux部署可执行jar包进行测试
linux下部署过程和windows类似,导出jar包的方式一样,所不同的是jar包的可执行脚本datagram-test.sh
sourceMsgPath=/home/lfcpapi/lfcp-java-test/msgs/
schemaPath=/home/lfcpapi/lfcp-java-test/schema/lfcp-schema.zip for i in $HOME/lfcp-java-test/lib/*;
do CLASSPATH=$i:"$CLASSPATH";
done for i in $HOME/lfcp-java-test/ext/*;
do CLASSPATH=$i:"$CLASSPATH";
done java test.datagram.TestDatagram $schemaPath $sourceMsgPath$1 echo "Success!"
第一个for代表jar包所依赖的jar文件,有就放,没有忽视。
第二个for表示执行性jar包的存放位置。
这里在执行可执行jar包时候出入两个参数:schema参数和报文的xml名称。schema参数直接写死了,每次执行
sh datagram-test.sh 101.xml
即可。
其它项目仿照这个过程编写即可。
3.3 问题分析
- 问题:
对api和schema的测试分别在一台linux和AIX服务器上进行,但是在AIX服务器上上传完所需的jar,schema后出现如下错误:

刚开始是以为java环境错误,捣鼓半天也没弄明白,仔细分析发现是上传的szlfcp-bank-datagram-1.0.5.jar包有问题,这个问题之所以被忽略,是因为同样的jar包上传到linux服务器就是没问题的。
这里在aix中出现该问题,可能是aix的传输文件机制和linux不同导致的,下次遇到这种问题,首先去对应的jar包中查找缺失的文件是否存在,然后确定是否是文件上传不完整导致的!
问题原因依旧是jar包有问题!
几天后又遇到同样的问题,但是反复上传了几次jar包问题依旧存在。最后把打开的ftp连接关闭掉,重新上传了一次jar包,问题解决!
- 问题
在部署一个依赖main函数执行的程序时候,遇到以下错误
Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [szfs.basedata.server.service.DataVersionService] is defined
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:)
at szfs.basedata.server.BaseDataApplication.main(BaseDataApplication.java:)
但是我到该工程的libs目录下面是能够看到DataVersionService这个bean的存在的。
刚开始以为文件不完整导致,所以就整体替换了程序中的文件(折腾了好久好久~),但是发现同样的程序在其它机器上面就能够正常的执行,
后来想到既然程序相同,不同机器执行结果不同,可能就是jdk的环境变量不一致导致的,所以我在执行脚本上面加了一句
source /etc/profile
最后程序就能够正常的启动了。

API和schema开发过程问题汇总的更多相关文章
- android体温登记APP开发过程+问题汇总+源码
源码上传至https://github.com/durtime/myproject下的temperature 实际效果: 开发过程 1.首先进行布局文件的编写,布局前台页面 2.布置两个按钮,一个 ...
- 十、api自动化环境问题及解决方案汇总(持续更新)
1.jenkins报错: Unable to read /root/.jenkins/config.xml at hudson.WebAppMain$3.run(WebAppMain.java:248 ...
- 1.4.7 Schema API
Schema API Schema API允许使用REST API每个集合(collection)(或者单机solr的核(core)).包含了定义字段类型,字段,动态字段,复制字段等.在solr4.2 ...
- Solr系列三:solr索引详解(Schema介绍、字段定义详解、Schema API 介绍)
一.Schema介绍 1. Schema 是什么? Schema:模式,是集合/内核中字段的定义,让solr知道集合/内核包含哪些字段.字段的数据类型.字段该索引存储. 2. Schema 的定义方式 ...
- 阿里云API网关(6)用户指南(开放 API )
网关指南: https://help.aliyun.com/document_detail/29487.html?spm=5176.doc48835.6.550.23Oqbl 网关控制台: https ...
- Web API接口设计经验总结
在Web API接口的开发过程中,我们可能会碰到各种各样的问题,我在前面两篇随笔<Web API应用架构在Winform混合框架中的应用(1)>.<Web API应用架构在Winfo ...
- 出色的 JavaScript API 设计秘诀
设计是一个很普遍的概念,一般是可以理解为为即将做的某件事先形成一个计划或框架. (牛津英语词典)中,设计是一种将艺术,体系,硬件或者更多的东西编织到一块的主线.软件设计,特别是作为软件设计的次类的AP ...
- tastypie Django REST API developement 1)
Read by linux/GNU commands Let's follow and start from here:http://django-tastypie.readthedocs.org/e ...
- 为 NativeScript 项目添加 iOS / Android 平台 API 的智能感知
使用 NativeScript ,我们可以很容易的调用平台的原生 API,在开发过程中,我们可以添加这些 API 的 d.ts 文件来提供智能感知,帮助我们更方便的构建媲美原生的 APP. 首先通过 ...
随机推荐
- 最全面的Java字节byte操作,处理Java基本数据的转换及进制转换操作工具,流媒体及java底层开发项目常用工具类
前言:用于处理Java基本数据的转换及进制转换操作工具 一.实现功能 1.int与byte互转 2.int与byte[]互转 3.short与byte互转 4.short与byte[]互转 5.16位 ...
- Hibernate 案例
搭建一个Hibernate环境,开发步骤: 1. 下载源码 版本:hibernate-distribution-3.6.0.Final 2. 引入jar文件 hibernate3.j ...
- thinkphp5.0学习笔记(二)
本文为公司制作API接口后台的小结! 1.命名注意事项: 不要使用易混淆的名字,如index,index01... 我喜欢用拼音... 比如: public function zhuce(Reques ...
- iframe访问子页面方法
在Iframe中调用子页面的Js函数 调用IFRAME子页面的JS函数 说明:假设有2个页面,index.html和inner.html.其中index.html中有一个iframe,这个iframe ...
- MongoDB--操作符
$gt -- > $lt -- < $gte -- >= $lte -- <= $all 与 in 类似,不同的是必须满足[]内所有的值 $exists 字段是否存在 db.s ...
- Ztorg木马分析: 从Android root木马演变到短信吸血鬼
本月第二次,Google 从官方应用商店 Google Play 中移除了伪装成合法程序的恶意应用.被移除的应用都属于名叫 Ztorg 的 Android 恶意程序家族.目前为止,发现的几十个新的Zt ...
- 通知栏Notification的整理
一.介绍 通知栏适用于交互事件的通知,是位于顶层可以展开的通知列表. 二.功能作用 1.显示接收到短消息,及时消息等信息(如QQ.微信.新浪.短信) 2.显示客户端的推送消息(如有新版本发 ...
- css3实现可以计算的自适应布局——calc()
开始我们需要先了解什么是calc() ,calc()是一个CSS函数,你可以使用calc()给元素的margin.pading.width等属性设置 而且你还可以在一个calc()内部嵌套另一个cal ...
- SOD开源框架MSF(消息服务框架)介绍
前言:之前想做消息的广播,拖着就忘记了,现在拿了医生的框架来学习,就按实现了之前想实现的功能. 传送门http://www.cnblogs.com/bluedoctor/,框架的获取,按传送门的链接就 ...
- Nio经典工作方式
public void selector() throws IOException { ByteBuffer buffer = ByteBuffer.allocate(1024); Selector ...