NC开发中 一些bug总结

一、内存溢出
(1)重启eclipse
(2)或者看看设置下参数,(-Xms256M -Xmx512M -XX:PermSize=256M -XX:MaxPermSize=256M),
nchome里bin/ncSysConfig
eclipse-窗口-首选项-已安装的jre-编辑jre-缺省vm参数
项目点右键-调试方式-调试-自变量-vm自变量
二、所有信息就都输出到控制台
(1)把sql日至都打出来,NC_HOME/ierp/bin/logger-config.properties 名字改下,
这样所有信息就都输出到控制台,
你点击按钮后,看看后台输出的sql,就是到都更新了哪些表了
(2)修改
D:\ufsoft\ufnc502\ierp\bin\logger-config.properties

anonymous.level=ERROR
anonymous.pattern=[%t] %X{remoteAddr} %X{remotePort} %d{yyyy/MM/dd HH:mm:ss} [%A] %p - %m %n
anonymous.file=./nclogs/${server}/anony-log.log
anonymous.size.maxSize=5MB
anonymous.size.maxIndex=20
修改为
anonymous.level=TRACE
anonymous.pattern=[%t] %X{remoteAddr} %X{remotePort} %d{yyyy/MM/dd HH:mm:ss} [%A] %p - %m %n
三、寻找错误
有错了先点清理控制台,再触发错误的事件,再从控制台的server端寻找错误
四、配置文件路径
nchome\ierp\bin\prop.xml
五、帐套管理路径
nchome\ierp\bin\account.xml
五、模块注册错乱
用集团登陆,在二次开发工具-系统管理工具-自定义菜单--恢复默认结构
在二次开发工具-系统管理工具-自定义菜单 可以自定义结构
六、打断点时候有时候截出的信息过多,有省略
用System.out.print(信息)
七、中间启动不起来
(1)去掉hr开头的模块
(2)换个ufjdk
八、直接起nchome显示4行就不在继续
server的IP改成127.0.0.1
九、获得nchome所在文件夹
RuntimeEnv.getInstance().getNCHome()
十、读取nc服务器信息的
String url ="http://"+InvocationInfoProxy.getInstance().getServerHost()+":"+InvocationInfoProxy.getInstance().getServerPort();
十一、javax.swing.JPanel 的 main() 中发生异常
java.lang.NoClassDefFoundError: netscape/javascript/JSObject
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:164)
at nc.starter.test.JStarter.StartNC(JStarter.java:111)
at nc.starter.test.JStarter.main(JStarter.java:373)
没有导入plugin 的jar包
十二、nc.bs.framework.exception.ComponentNotFoundException: Component: nc.itf.pd.inner.IPubFreeze,Detail Message: 
Can not find component(both in jndi and ESA)
EJB问题,删掉EJB临时文件,重启中间键
object is not an instance of declaring class
也有可能是接口、实现方法没有定义,定义后重新部署
十三、java中的各种路径
   public static void main(String[] args){ 
      System.out.println(new File("column2.txt").getAbsolutePath());//文件路径
      System.out.println("Java运行时环境版本:\n"+System.getProperty("java.version")); 
      System.out.println("Java 运行时环境供应商:\n"+System.getProperty("java.vendor")); 
      System.out.println("Java 供应商的URL:\n"+System.getProperty("java.vendor.url")); 
      System.out.println("Java安装目录:\n"+System.getProperty("java.home")); 
      System.out.println("Java 虚拟机规范版本:\n"+System.getProperty("java.vm.specification.version")); 
      System.out.println("Java 类格式版本号:\n"+System.getProperty("java.class.version")); 
      System.out.println("Java类路径:\n"+System.getProperty("java.class.path")); 
      System.out.println("加载库时搜索的路径列表:\n"+System.getProperty("java.library.path")); 
      System.out.println("默认的临时文件路径:\n"+System.getProperty("java.io.tmpdir")); 
      System.out.println("要使用的 JIT 编译器的名称:\n"+System.getProperty("java.compiler")); 
      System.out.println("一个或多个扩展目录的路径:\n"+System.getProperty("java.ext.dirs")); 
      System.out.println("操作系统的名称:\n"+System.getProperty("os.name")); 
      System.out.println("操作系统的架构:\n"+System.getProperty("os.arch")); 
      System.out.println("操作系统的版本:\n"+System.getProperty("os.version")); 
      System.out.println("文件分隔符(在 UNIX 系统中是“/”):\n"+System.getProperty("file.separator")); 
      System.out.println("路径分隔符(在 UNIX 系统中是“:”):\n"+System.getProperty("path.separator")); 
      System.out.println("行分隔符(在 UNIX 系统中是“/n”):\n"+System.getProperty("line.separator")); 
      System.out.println("用户的账户名称:\n"+System.getProperty("user.name")); 
      System.out.println("用户的主目录:\n"+System.getProperty("user.home")); 
      System.out.println("用户的当前工作目录:\n"+System.getProperty("user.dir")); }
十四、端口号

/**
nchome55\conf
文件夹下
server.xml文件
搜索
Define a non-SSL HTTP/1.1 Connector
下面就是那个端口
*/
十六、表体树排序出错
表体树不支持排序,禁用表体排序,在initSelfData()调用getBillCardPanel().getBillTable(表编码).setSortXXX(false),注意相应的列表界面也要禁止排序
十七、访问受限
配置访问规则--编辑--添加--分辨率改为可访问,规则模式写**--确定
十八、java.lang.ClassNotFoundException和java.lang.NoClassDefFoundError的区别
         这2个东西应该是java里很常见,很简单,他们都和classpath设定有关,但区别在哪里呢? 我们都知道java里生成对象有如下两种方式:
         1:Object obj = new ClassName(); 直接new一个对象
         2:Class clazz = Class.forName(ClassName);
               Object obj = clazz.newInstance(); 通过class loader动态装载一个类,然后获取这个类的实例
         同样是生成对象,1在编译期间检查classpath, 如果没有类定义,编译没法通过。而2在编译期间是不会检查的,不过需要抛出或者自己catch ClassNotFoundException。 运行期间,如果1编译时依赖的类不在classpath中(导致classloader装载失败),此时抛出的异常就是NoClassDefFoundError。而如果2在运行期间需要装载的类不在classpath中,抛出的则是ClassNotFoundException。
十九、开发环境下界面出现乱码
原因:eclipse没有添加资源id。
把workspace工作环境下的代码删掉,重新建项目。
二十一、出现空按钮
原因:ncsso本身在uap里面,可能会被误移动出来。
解决:将nchome里的ncsso的模块,删掉。
二十二、Oracle 一个表字段,更新另一个表字段 报 not null 
在Oracle中通过一个表字段更新另一个表字段,有时更新不进去,报不能为空,
具体原因没有去深究,但是可以通过建立一个中间列来解决此问题;
如:
表A:字段id,code ,name
表B:字段b1,b2,b3
更新表A的id字段为表B的b1字段,条件是A.id=B.b3;
这样的话,这个id既是更新字段又是条件字段,这时候,就需要一个中间列;
update tb_role_user set mm=(select mm1 from mmtes333 where trim(userid)=trim(mm3))
update tb_role_user set userid=mm where mm is not null 
二十三、操作用户已达到最大授权数
bin下的license1和lib下的uf删掉
  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
NCNCcloud)是以云计算为基础的企业管理软件平台,是国内领先的财务管理、采购管理、库存管理、销售管理、生产管理、人力资源管理、项目与合同管理等集成解决方案。在NC开发WebServices工具包可以为用户提供更加便捷的接口集成方式,实现系统之间的数据交换和业务流程的整合。 针对NC开发WebServices工具包的需求,我们可以采用以下步骤进行开发: 1. 确定需求:与用户沟通,了解用户对WebServices的具体需求和使用场景,明确接口的功能和数据传输需求。 2. 设计接口:根据用户需求,在NC设计WebServices接口,包括接口方法、参数、返回值等。 3. 开发接口:借助NC提供的开发工具,编写接口代码,实现接口的调用和数据处理逻辑。 4. 测试和优化:进行接口功能测试,确保接口的正确性和稳定性。根据测试结果进行优化和修复bug。 5. 文档撰写:编写详细的接口文档,包括接口的说明、使用方法、参数说明等,便于其他开发人员和用户使用。 6. 集成部署:将开发好的WebServices工具包集成到NC,确保与NC系统无缝衔接。部署完成后,用户可以通过WebServices接口与NC进行数据交互。 通过开发WebServices工具包,用户可以方便地通过标准的SOAP协议与NC进行集成,实现数据的新增、修改、删除等操作。同时,开发者也可以根据具体需求,使用WebServices接口实现其他定制化功能,如自定义报表生成、数据分析等。 总之,开发NC的WebServices工具包可以为用户提供更加灵活和便捷的系统集成解决方案,提高企业管理效率和业务流程的整合程度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值