2016-04-11 28 views
2

Sunucumuz java 8 olarak güncelleştirildi ve aşağıdaki kod artık çalışmıyor. En son jtopen sürümünü kullanıyorum ve java 7 veya 8'de çalışamıyorum.IntrospectionException: Yöntem bulunamadı: setLastModified

Bu kod, IBM i'deki tümleşik dosya sistemine erişmek için jtopen (java toolkit) kullanır.

AS400 as400 = new AS400("myip","myuser","mypassword") 
IFSFile file = new IFSFile(as400, params.path);  
if (file.exists()){ 
    Ifs ifs = new Ifs() 
     ifs.CopyFile(as400,params.path,response) 
     as400.disconnectAllServices(); 
} 
else { 
    redirect(action: "fileNotFound") 
} 

aşağıdaki hatayı alıyorum:

java.beans.IntrospectionException: Method not found: setLastModified. Stacktrace follows: java.lang.reflect.InvocationTargetException: null at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_77] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[na:1.8.0_77] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_77] Caused by: java.lang.Error: java.beans.IntrospectionException: Method not found: setLastModified at com.ibm.as400.access.IFSFileBeanInfo.(IFSFileBeanInfo.java:126) ~[jt400-8.7.jar:JTOpen 8.7] at java.lang.Class.newInstance(Class.java:442) ~[na:1.8.0_77] at com.sun.beans.finder.InstanceFinder.instantiate(InstanceFinder.java:96) ~[na:1.8.0_77] at com.sun.beans.finder.InstanceFinder.find(InstanceFinder.java:66) ~[na:1.8.0_77] at java.beans.Introspector.findExplicitBeanInfo(Introspector.java:448) ~[na:1.8.0_77] at java.beans.Introspector.(Introspector.java:398) ~[na:1.8.0_77] at java.beans.Introspector.getBeanInfo(Introspector.java:173) ~[na:1.8.0_77] at PageController.getBoardReport(PageController.groovy:113) ~[main/:na]

Herhangi ides nasıl bu sorunu çözmek için?

cevap

2

Setter yöntemlerinin bir dönüş türü geçersiz olmasını gerektirmesi için 1.7 değerinde Java çekirdek altyapısı değişmiş gibi görünüyor (bkz. Why did PropertyDescriptor behavior change from Java 1.6 to 1.7?). SetLastModified yönteminin java.io.File'daki benzer yönteme uyması için bir boolean dönüş türü vardır. IFSFileBeanInfo.java için bir düzeltme JTOpen CVS deposuna kontrol edildi. JTOpen'i kendiniz oluşturmanız, düzeltmeyi içeren bir jt400.jar için IBM hizmetine başvurmanız veya bir sonraki JTOpen sürümü için beklemeniz gerekir.

+0

Sorun Çözüldü: IBM i destek çağrısı verdim ve bana .jar dosyası verdiler. Mükemmel destek servisi! –