- 浏览: 4546823 次
- 性别:
- 来自: 济南
最新评论
-
wahahachuang8:
GoEasy 实时推送支持IE6-IE11及大多数主流浏览器的 ...
服务器推送技术 -
pdztop:
inffas32.asm(594) inffas32.asm( ...
zlib 在 Visual Studio 2005 下编译失败的解决办法 -
myangle89:
这个方法有效果,但还是绕了一大圈。另外:如果每次这样使用,会造 ...
利用 Spring 与 Log4J 巧妙地进行动态日志配置切换并立即生效 -
lsw521314:
亲,请把用到的包贴出来好么?这版本问题搞得我头大······· ...
lucene MMAnalyzer 实现中文分词 -
guji528:
多命令执行:cmd /k reg delete "H ...
REG Command in Windows XP - Windows XP REG命令的作用和用法
http://yulimin.iteye.com/blog/299956
关于WAS当中FFDC报告java.util.zip.ZipException: error in opening zip file剖析及解决
问题:
WAS下FFDC日志目录中出现如下的错误,打开zip文件错误
- FFDCException:java.util.zip.ZipExceptionSourceId:com.ibm.ws.classloader.ClassLoaderUtils.addDependentsProbeId:238Reporter:java.lang.Class@7c537c91
- java.util.zip.ZipException:errorinopeningzipfile
- atjava.util.zip.ZipFile.open(NativeMethod)
- atjava.util.zip.ZipFile.<init>(ZipFile.java:114)
- atjava.util.jar.JarFile.<init>(JarFile.java:133)
- atjava.util.jar.JarFile.<init>(JarFile.java:70)
- atcom.ibm.ws.classloader.ClassLoaderUtils.addDependents(ClassLoaderUtils.java:96)
- atcom.ibm.ws.classloader.ClassLoaderUtils.addDependents(ClassLoaderUtils.java:143)
- atcom.ibm.ws.classloader.ClassLoaderUtils.addDependentJars(ClassLoaderUtils.java:61)
- atcom.ibm.ws.classloader.ClassGraph.<init>(ClassGraph.java:115)
- atcom.ibm.ws.classloader.ClassLoaderManager.initialize(ClassLoaderManager.java:202)
- atcom.ibm.ws.classloader.ClassLoaderManager.<init>(ClassLoaderManager.java:166)
- atcom.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:891)
- atcom.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:740)
- atcom.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:2092)
- atcom.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:437)
- atcom.ibm.ws.runtime.component.CompositionUnitImpl.start(CompositionUnitImpl.java:122)
- atcom.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:380)
- atcom.ibm.ws.runtime.component.CompositionUnitMgrImpl.access$300(CompositionUnitMgrImpl.java:105)
- atcom.ibm.ws.runtime.component.CompositionUnitMgrImpl$CUInitializer.run(CompositionUnitMgrImpl.java:928)
- atcom.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:349)
- atcom.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1527)
FFDC Exception:java.util.zip.ZipException SourceId:com.ibm.ws.classloader.ClassLoaderUtils.addDependents ProbeId:238 Reporter:java.lang.Class@7c537c91 java.util.zip.ZipException: error in opening zip file at java.util.zip.ZipFile.open(Native Method) at java.util.zip.ZipFile.<init>(ZipFile.java:114) at java.util.jar.JarFile.<init>(JarFile.java:133) at java.util.jar.JarFile.<init>(JarFile.java:70) at com.ibm.ws.classloader.ClassLoaderUtils.addDependents(ClassLoaderUtils.java:96) at com.ibm.ws.classloader.ClassLoaderUtils.addDependents(ClassLoaderUtils.java:143) at com.ibm.ws.classloader.ClassLoaderUtils.addDependentJars(ClassLoaderUtils.java:61) at com.ibm.ws.classloader.ClassGraph.<init>(ClassGraph.java:115) at com.ibm.ws.classloader.ClassLoaderManager.initialize(ClassLoaderManager.java:202) at com.ibm.ws.classloader.ClassLoaderManager.<init>(ClassLoaderManager.java:166) at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:891) at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:740) at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:2092) at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:437) at com.ibm.ws.runtime.component.CompositionUnitImpl.start(CompositionUnitImpl.java:122) at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:380) at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.access$300(CompositionUnitMgrImpl.java:105) at com.ibm.ws.runtime.component.CompositionUnitMgrImpl$CUInitializer.run(CompositionUnitMgrImpl.java:928) at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:349) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1527)
那到底是哪个文件在打开时发生错误了呢?一头雾水了吧,汗。。。估计你会。。。
分析:
1、通过对文件的排查,确认排除了应用程序中引用jar文件损坏的可能性以及由于jar文件权限设置导致无法读取的可能性
2、打开跟踪日志级别进行剖析
Application servers > memXXX > Logging and Tracing > Change log detail levels
设置ClassLoaderUtils跟踪级别如下
*=info: com.ibm.ws.classloader.ClassLoaderUtils=finest
重新启动后,在trace.log里可以发现如下信息
- 0000001eClassLoaderUt>addDependentsEntry
- /home/xxx/lib/struts/commons-logging.jar
- 0000001eClassLoaderUt3dependentclasspathdetected:log4j.jarlog4j-core.jar
- 0000001eClassLoaderUt3adding/home/xxx/lib/struts/log4j.jar
- 0000001eClassLoaderUt>addDependentsEntry
- /home/xxx/lib/struts/log4j.jar
- 0000001eFfdcProviderIcom.ibm.ws.ffdc.impl.FfdcProviderlogIncidentFFDC1003I:FFDCIncidentemittedon/usr/IBM/WebSphere/AppServer/profiles/XXX/logs/ffdc/memXXX_f3c3750_08.12.23_16.26.42.85048008.txtcom.ibm.ws.classloader.ClassLoaderUtils.addDependents238
- 0000001eClassLoaderUt3WARNING:couldnotopen/home/xxx/lib/struts/log4j.jar:errorinopeningzipfile
- 0000001eClassLoaderUt<addDependentsExit
- /home/xxx/lib/struts/log4j.jar
- 0000001eClassLoaderUt3adding/home/xxx/lib/struts/log4j-core.jar
- 0000001eClassLoaderUt>addDependentsEntry
- /home/xxx/lib/struts/log4j-core.jar
- 0000001eClassLoaderUt3WARNING:couldnotopen/home/xxx/lib/struts/log4j-core.jar:errorinopeningzipfile
- 0000001eClassLoaderUt<addDependentsExit
- /home/xxx/lib/struts/log4j-core.jar
- 0000001eClassLoaderUt<addDependentsExit
- /home/xxx/lib/struts/commons-logging.jar
- ......
- 0000001eClassLoaderUt>addDependentsEntry
- /home/xxx/lib/struts/struts.jar
- 0000001eClassLoaderUt3dependentclasspathdetected:commons-beanutils.jarcommons-collections.jarcommons-digester.jarcommons-logging.jarcommons-validator.jarjakarta-oro.jarstruts-legacy.jar
- 0000001eClassLoaderUt3adding/home/xxx/lib/struts/jakarta-oro.jar
- 0000001eClassLoaderUt>addDependentsEntry
- /home/xxx/lib/struts/jakarta-oro.jar
- 0000001eClassLoaderUt3WARNING:couldnotopen/home/xxx/lib/struts/jakarta-oro.jar:errorinopeningzipfile
- 0000001eClassLoaderUt<addDependentsExit
- /home/xxx/lib/struts/jakarta-oro.jar
- 0000001eClassLoaderUt3adding/home/xxx/lib/struts/struts-legacy.jar
- 0000001eClassLoaderUt>addDependentsEntry
- /home/xxx/lib/struts/struts-legacy.jar
- 0000001eClassLoaderUt3WARNING:couldnotopen/home/xxx/lib/struts/struts-legacy.jar:errorinopeningzipfile
- 0000001eClassLoaderUt<addDependentsExit
- /home/xxx/lib/struts/struts-legacy.jar
- 0000001eClassLoaderUt<addDependentsExit
- ......
0000001e ClassLoaderUt > addDependents Entry /home/xxx/lib/struts/commons-logging.jar 0000001e ClassLoaderUt 3 dependent classpath detected: log4j.jar log4j-core.jar 0000001e ClassLoaderUt 3 adding /home/xxx/lib/struts/log4j.jar 0000001e ClassLoaderUt > addDependents Entry /home/xxx/lib/struts/log4j.jar 0000001e FfdcProvider I com.ibm.ws.ffdc.impl.FfdcProvider logIncident FFDC1003I: FFDC Incident emitted on /usr/IBM/WebSphere/AppServer/profiles/XXX/logs/ffdc/memXXX_f3c3750_08.12.23_16.26.42.85048008.txt com.ibm.ws.classloader.ClassLoaderUtils.addDependents 238 0000001e ClassLoaderUt 3 WARNING: could not open /home/xxx/lib/struts/log4j.jar : error in opening zip file 0000001e ClassLoaderUt < addDependents Exit /home/xxx/lib/struts/log4j.jar 0000001e ClassLoaderUt 3 adding /home/xxx/lib/struts/log4j-core.jar 0000001e ClassLoaderUt > addDependents Entry /home/xxx/lib/struts/log4j-core.jar 0000001e ClassLoaderUt 3 WARNING: could not open /home/xxx/lib/struts/log4j-core.jar : error in opening zip file 0000001e ClassLoaderUt < addDependents Exit /home/xxx/lib/struts/log4j-core.jar 0000001e ClassLoaderUt < addDependents Exit /home/xxx/lib/struts/commons-logging.jar ...... 0000001e ClassLoaderUt > addDependents Entry /home/xxx/lib/struts/struts.jar 0000001e ClassLoaderUt 3 dependent classpath detected: commons-beanutils.jar commons-collections.jar commons-digester.jar commons-logging.jar commons-validator.jar jakarta-oro.jar struts-legacy.jar 0000001e ClassLoaderUt 3 adding /home/xxx/lib/struts/jakarta-oro.jar 0000001e ClassLoaderUt > addDependents Entry /home/xxx/lib/struts/jakarta-oro.jar 0000001e ClassLoaderUt 3 WARNING: could not open /home/xxx/lib/struts/jakarta-oro.jar : error in opening zip file 0000001e ClassLoaderUt < addDependents Exit /home/xxx/lib/struts/jakarta-oro.jar 0000001e ClassLoaderUt 3 adding /home/xxx/lib/struts/struts-legacy.jar 0000001e ClassLoaderUt > addDependents Entry /home/xxx/lib/struts/struts-legacy.jar 0000001e ClassLoaderUt 3 WARNING: could not open /home/xxx/lib/struts/struts-legacy.jar : error in opening zip file 0000001e ClassLoaderUt < addDependents Exit /home/xxx/lib/struts/struts-legacy.jar 0000001e ClassLoaderUt < addDependents Exit ......
继续分析:
首先,可以确认的是WARNING所报的是正确的,因为可以通过确认所依赖的log4j.jar log4j-core.jar jakarta-oro.jar struts-legacy.jar之类的文件不存在。
其次,这些不存在的包是由谁依赖并需要加载的,通过日志的层次关系可以知道,commons-logging.jar需要log4j.jar log4j-core.jar,struts.jar需要jakarta-oro.jar struts-legacy.jar
这样唯一的可能就是各自的jar包中META-INF\MANIFEST.MF里声明了这些jar的依赖关系了。
打开commons-logging.jar,发现其中的META-INF\MANIFEST.MF里包含了
Class-Path: log4j.jar log4j-core.jar
打开struts.jar,发现其中的META-INF\MANIFEST.MF里包含了
Class-Path: commons-beanutils.jar commons-collections.jar commons-dig
ester.jar commons-logging.jar commons-validator.jar jakarta-oro.jar s
truts-legacy.jar
于是真相大白了,解决的办法要么增加相应版本所依赖的jar包,要么就是简单地删除Class-Path,根据应用程序的需要进行确认并使用之,[color=red]建议用前者进行解决。要么就升级这些组件包。[/color]
代码解读
- ClassLoaderUtils.java
- publicstaticString[]addDependentJars(Stringpaths[])
- {
- ArrayListnewPaths=newArrayList(Arrays.asList(paths));
- for(inti=0;i<paths.length;i++)
- if(paths[i].toLowerCase().endsWith(".jar"))
- addDependents(paths[i],newPaths);
- Stringresult[]=newString[newPaths.size()];
- result=(String[])(String[])newPaths.toArray(result);
- returnresult;
- }
- privatestaticvoidaddDependents(StringjarFileName,Listclasspath)
- {
- //...省略。。。
- jar=newJarFile(jarFileName);//错误在这一行
- manifest=jar.getManifest();
- attrs=manifest.getMainAttributes();
- dependents=attrs.getValue(java.util.jar.Attributes.Name.CLASS_PATH);//获取依赖包路径
- StringTokenizertokens=newStringTokenizer(dependents,"");
- do
- {
- if(!tokens.hasMoreTokens())
- break;
- StringnextDependent=tokens.nextToken();
- StringnextDependentFullPath=(newStringBuilder()).append(prefix).append(nextDependent).
- if(PathUtils.listAddNoDup(classpath,nextDependentFullPath))
- {
- addDependents(nextDependentFullPath,classpath);//迭代加载之
- }
- }while(true);
- //...省略。。。
- 在catch代码块中
- catch(ZipExceptionze)
- {
- Manager.Ffdc.log(ze,ClassLoaderUtils.class,"com.ibm.ws.classloader.ClassLoaderUtils.addDependents","238"+jarFileName);
- if(debugEnabled)
- Tr.debug(tc,(newStringBuilder()).append("WARNING:couldnotopen").append(jarFileName).append(":").append(ze.getLocalizedMessage()).toString());
- }
- catch(IOExceptionioe)
- {
- Manager.Ffdc.log(ioe,ClassLoaderUtils.class,"com.ibm.ws.classloader.ClassLoaderUtils.addDependents","246");
- if(debugEnabled)
- Tr.debug(tc,(newStringBuilder()).append("WARNING:I/Oexception").append(jarFileName).append(":").append(ioe.getLocalizedMessage()).toString());
- }
ClassLoaderUtils.java public static String[] addDependentJars(String paths[]) { ArrayList newPaths = new ArrayList(Arrays.asList(paths)); for(int i = 0; i < paths.length; i++) if(paths[i].toLowerCase().endsWith(".jar")) addDependents(paths[i], newPaths); String result[] = new String[newPaths.size()]; result = (String[])(String[])newPaths.toArray(result); return result; } private static void addDependents(String jarFileName, List classpath) { // ...省略。。。 jar = new JarFile(jarFileName);// 错误在这一行 manifest = jar.getManifest(); attrs = manifest.getMainAttributes(); dependents = attrs.getValue(java.util.jar.Attributes.Name.CLASS_PATH);// 获取依赖包路径 StringTokenizer tokens = new StringTokenizer(dependents, " "); do { if(!tokens.hasMoreTokens()) break; String nextDependent = tokens.nextToken(); String nextDependentFullPath = (new StringBuilder()).append(prefix).append(nextDependent). if(PathUtils.listAddNoDup(classpath, nextDependentFullPath)) { addDependents(nextDependentFullPath, classpath); // 迭代加载之 } } while(true); // ...省略。。。 在catch代码块中 catch(ZipException ze) { Manager.Ffdc.log(ze, ClassLoaderUtils.class, "com.ibm.ws.classloader.ClassLoaderUtils.addDependents", "238" + jarFileName); if(debugEnabled) Tr.debug(tc, (new StringBuilder()).append("WARNING: could not open ").append(jarFileName).append(" : ").append(ze.getLocalizedMessage()).toString()); } catch(IOException ioe) { Manager.Ffdc.log(ioe, ClassLoaderUtils.class, "com.ibm.ws.classloader.ClassLoaderUtils.addDependents", "246"); if(debugEnabled) Tr.debug(tc, (new StringBuilder()).append("WARNING: I/O exception ").append(jarFileName).append(" : ").append(ioe.getLocalizedMessage()).toString()); }
不厚道,在Manager.Ffdc.log里把jarFileName也打印出来,就更容易知道是什么问题了。
可见打印出有意义的信息对于分析问题是多少的重要。。。
附带信息:将commons-logging.jar与struts.jar与Spring 2.5.5发布所带的包进行对比分析,发现Spring带的commons-logging.jar包没有带有Class-Path这个条目。
- Manifest-Version:1.0
- Created-By:ApacheAnt1.5.1
- Extension-Name:org.apache.commons.logging
- Specification-Vendor:ApacheSoftwareFoundation
- Specification-Version:1.0
- Implementation-Vendor:ApacheSoftwareFoundation
- Implementation-Version:1.0.3
- Class-Path:log4j.jarlog4j-core.jar
Manifest-Version: 1.0 Created-By: Apache Ant 1.5.1 Extension-Name: org.apache.commons.logging Specification-Vendor: Apache Software Foundation Specification-Version: 1.0 Implementation-Vendor: Apache Software Foundation Implementation-Version: 1.0.3 Class-Path: log4j.jar log4j-core.jar
对比
- Manifest-Version:1.0
- Archiver-Version:PlexusArchiver
- Created-By:ApacheMaven
- Built-By:dlg01
- Build-Jdk:1.4.2_16
- Implementation-Title:CommonsLogging
- Implementation-Vendor:ApacheSoftwareFoundation
- Implementation-Vendor-Id:org.apache
- Implementation-Version:1.1.1
- Specification-Title:CommonsLogging
- Specification-Vendor:ApacheSoftwareFoundation
- Specification-Version:1.0
- X-Compile-Source-JDK:1.2
- X-Compile-Target-JDK:1.1
- Extension-Name:org.apache.commons.logging
Manifest-Version: 1.0 Archiver-Version: Plexus Archiver Created-By: Apache Maven Built-By: dlg01 Build-Jdk: 1.4.2_16 Implementation-Title: Commons Logging Implementation-Vendor: Apache Software Foundation Implementation-Vendor-Id: org.apache Implementation-Version: 1.1.1 Specification-Title: Commons Logging Specification-Vendor: Apache Software Foundation Specification-Version: 1.0 X-Compile-Source-JDK: 1.2 X-Compile-Target-JDK: 1.1 Extension-Name: org.apache.commons.logging
注意实现的版本问题是不同的
struct.jar包的条目内容不同
- Manifest-Version:1.0
- Created-By:ApacheAnt1.5.1
- Extension-Name:StrutsFramework
- Specification-Title:StrutsFramework
- Specification-Vendor:ApacheSoftwareFoundation
- Specification-Version:1.1
- Implementation-Title:StrutsFramework
- Implementation-Vendor:ApacheSoftwareFoundation
- Implementation-Vendor-Id:org.apache
- Implementation-Version:1.1
- Class-Path:commons-beanutils.jarcommons-collections.jarcommons-dig
- ester.jarcommons-logging.jarcommons-validator.jarjakarta-oro.jars
- truts-legacy.jar
Manifest-Version: 1.0 Created-By: Apache Ant 1.5.1 Extension-Name: Struts Framework Specification-Title: Struts Framework Specification-Vendor: Apache Software Foundation Specification-Version: 1.1 Implementation-Title: Struts Framework Implementation-Vendor: Apache Software Foundation Implementation-Vendor-Id: org.apache Implementation-Version: 1.1 Class-Path: commons-beanutils.jar commons-collections.jar commons-dig ester.jar commons-logging.jar commons-validator.jar jakarta-oro.jar s truts-legacy.jar
对比
- Manifest-Version:1.0
- Ant-Version:ApacheAnt1.6.1
- Created-By:1.3.1_04-b02(SunMicrosystemsInc.)
- Extension-Name:StrutsFramework
- Specification-Title:StrutsFramework
- Specification-Vendor:TheApacheSoftwareFoundation
- Specification-Version:1.2.9
- Implementation-Title:StrutsFramework
- Implementation-Vendor:TheApacheSoftwareFoundation
- Implementation-Vendor-Id:org.apache
- Implementation-Version:1.2.9
- Class-Path:commons-beanutils.jarcommons-digester.jarcommons-fileup
- load.jarcommons-logging.jarcommons-validator.jarjakarta-oro.jar
Manifest-Version: 1.0 Ant-Version: Apache Ant 1.6.1 Created-By: 1.3.1_04-b02 (Sun Microsystems Inc.) Extension-Name: Struts Framework Specification-Title: Struts Framework Specification-Vendor: The Apache Software Foundation Specification-Version: 1.2.9 Implementation-Title: Struts Framework Implementation-Vendor: The Apache Software Foundation Implementation-Vendor-Id: org.apache Implementation-Version: 1.2.9 Class-Path: commons-beanutils.jar commons-digester.jar commons-fileup load.jar commons-logging.jar commons-validator.jar jakarta-oro.jar
也要注意实现的版本问题是不同的
相关推荐
联想Lenovo ThinkSystem SR550服务器 LXCC收集FFDC日志的方法
SD530 LXCC收集FFDC日志的方法.docx 小白必备
ThinkSystem 使用LXCC收集FFDC日志
服务器 IMM2 和 FFDC 日志收集方法 适用于初级服务器新手 孰能生巧。。。。。
FFDC 这是一个模板(不是 leiningen),结合了几个开始使用的项目。 包括: 与朋友的朋友 datomic pro(应该很容易被 datomic 免费版替换) 栗子模板与所有不错的重新加载的东西 freactive 而不是 om cljs路由...
ffdc-vue-app-v1 项目设置 npm install 编译和热重装以进行开发 npm run serve 编译并最小化生产 npm run build 自定义配置 请参阅。
关于扩展性在消息处理过程中采用了管道模式的设计,借鉴了Open Web Interface的思想和一些规范来打造整个消息处理的模型,使消息处理变得更加轻便。同时SDK内部内置了一个简单的依赖注入实现 IDependencyResolver,...
要运行该示例,请转至子项目目录-ffdc-authorization-code和ffdc-client-credentials ,并按照README.md文件中的步骤进行操作,以获取更多详细信息。 这些示例客户端应用程序是根据MIT许可证发布的。 有关详细信息...
该设备被标识为ID 15c2:ffdc SoundGraph Inc.。iMON PAD遥控器。 但是,LCD面板与我在互联网上看到的其他面板不同。 它具有:-用于消息和时钟的12个文本字符; -3个风扇指示灯(自动更新); -温度指示器(自动...
要运行该示例,请转至子项目目录ffdc-authorization-code和ffdc-client-credentials ,并按照README.md文件中的步骤进行操作,以了解更多详细信息。 这些示例客户端应用程序是根据MIT许可证发布的。 有关详细信息,...
尺寸:长54mmX宽26mmX高24mm 主要芯片: HK14FD-DC12V-SHG 双路常开常闭继电器 工作电压:12V(工作电压等于继电器额定工作电压) 特点:1、双路输出具有工作指示灯。 2、板子功耗小于1W 3、额定切换电流5A以内 ...
本文件可通过FFDC2214芯片实现手势识别
matlab优化二元一次方程组代码 该ADCME库(A utomatic d ifferentiation库对于C omputational和M athematicalËngineering)旨在与基于梯度的优化技术通用,可扩展的逆向建模。 它具有作为自动区分和并行计算的后端...
matlab优化二元一次方程组代码 该ADCME库(A utomatic d ifferentiation库对于C omputational和M athematicalËngineering)旨在与基于梯度的优化技术通用,可扩展的逆向建模。 它具有作为自动区分和并行计算的后端...
小型机与PC服务器的简单比较 小型机的最主要的三个优势(Reliability, Availability, Serviceability 高可靠性、高可用性、高服务性) 小型机 1,小型机是封闭专用的计算机系统,CPU一般采用...例如ibm 的诊断技术ffdc
描述这个包提供了一种在... add ' .bubble ' , backgroundColor : ' #FFDC00 ' borderRadius : CSSC . em 0.75 . add [ ' h1 ' , ' h2 ' ], backgroundColor : ' blue ' 在 Javascript 中调用时,CSS 属性被声明为尊重
AMI名称AMI ID weechat-v1.0.0 ami-0c437dfa321f0611e 最新ami-09a6de893ca3fef75 测试Alb-Rstudio-Notebook-v2 ami-01024cf6596f29a87 测试Alb-Rstudio-Notebook ami-0e3513f76f93fbba6 测试笔记笔记本ami-0a5ffdc1...
最近在学习VUE.js 中间涉及到JS全局变量,与其说是VUE的全局变量,不如说是模块化JS开发的全局变量。 1、全局变量专用模块 就是以一个特定模块来组织管理这些全局量,需要... '#FFDC35', '#FFFF37', '#B7FF4A', '#28
最近在学习VUE.js 中间涉及到JS全局变量,与其说是VUE的全局变量,不如说是模块化JS开发的全局变量。 1、全局变量专用模块 就是以一个特定模块来组织管理这些全局量,... '#FFDC35', '#FFFF37', '#B7FF4A', '#2
要运行该示例,请转至子项目目录-ffdc-authorization-code和ffdc-client-credentials ,并按照README.md文件中的步骤进行操作,以获取更多详细信息。 这些示例客户端应用程序是根据MIT许可证发布的。 有关详细信息...