File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ #! /bin/sh
2+
3+ # class-version.sh - find the Java version which wrote a JAR file
4+
5+ for jar in " $@ "
6+ do
7+ # find the first class of the JAR
8+ class=" $( jar tf " $jar " | grep ' \.class' | head -n 1 | sed ' s/\//./g' | sed ' s/\.class$//' ) "
9+ info=" $( javap -verbose -classpath " $jar " " $class " ) "
10+
11+ # extract major.minor version
12+ minor=" $( echo " $info " | grep ' minor version: ' | sed ' s/.*minor version: //' ) "
13+ major=" $( echo " $info " | grep ' major version: ' | sed ' s/.*major version: //' ) "
14+ case $major in
15+ 45)
16+ version=" JDK 1.1"
17+ ;;
18+ 46)
19+ version=" JDK 1.2"
20+ ;;
21+ 47)
22+ version=" JDK 1.3"
23+ ;;
24+ 48)
25+ version=" JDK 1.4"
26+ ;;
27+ 49)
28+ version=" J2SE 5.0"
29+ ;;
30+ 50)
31+ version=" J2SE 6.0"
32+ ;;
33+ * )
34+ if [ " $major " -gt 50 ]
35+ then
36+ version=" J2SE $( expr $major - 44) "
37+ else
38+ java=" Unknown"
39+ fi
40+ ;;
41+
42+ esac
43+
44+ # report the results
45+ echo " $jar : $version ($major .$minor )"
46+ done
You can’t perform that action at this time.
0 commit comments