2014-09-04 96 views
0

所以我有一个可执行的jar文件。我需要弄清楚它在制作时使用了哪个Solace版本。从JAR文件中找出Solace版本

我可以反编译并获取类文件,但是这并不能帮助我找出该jar中的Solace版本。

我也从JAR中提取Manifets文件。内容是

Manifest-Version: 1.0 
Created-By: 1.5.0_07 (Sun Microsystems Inc.) 

所以我知道JAVA版本,但不是Solace版本。

任何想法或建议?

谢谢

回答

4

通常,Solace API版本包含在Solace jar的名称中。例如:sol-jcsmp-7.0.0.63.jar。

在Solace jar的内部,META-INF目录中还会有一个清单文件,其中包含版本信息。例如:

Manifest-Version: 1.0 
Ant-Version: Apache Ant 1.8.2 
Created-By: 1.7.0_17-b02 (Oracle Corporation) 

Name: com/solacesystems/jcsmp 
Specification-Title: Solace Systems Messaging API for Java 
Specification-Version: 7.0.0.63 
Specification-Vendor: Solace Systems, Inc. 
Implementation-Title: com.solacesystems.jcsmp 
Implementation-Version: 7.0.0.63 
Implementation-Vendor: Solace Systems, Inc. 

此外,还可以对应用程序来获得安慰API版本程序如下:

JCSMPRuntime.onlyInstance().getVersion().getSwVersion() 

所以会有点依赖于你的应用程序是如何包装它的这些方法将是最合适的。