File tree 2 files changed +20
-7
lines changed
main/java/org/codehaus/plexus/archiver/zip
test/java/org/codehaus/plexus/archiver/zip
2 files changed +20
-7
lines changed Original file line number Diff line number Diff line change @@ -136,15 +136,18 @@ public abstract class AbstractZipArchiver
136
136
137
137
private static int getJavaVersion ()
138
138
{
139
- String javaSpecVersion = System .getProperty ( "java.specification.version" );
140
- if ( javaSpecVersion .contains ( "." ) )
141
- {//before jdk 9
142
- return Integer .parseInt ( javaSpecVersion .split ( "\\ ." )[1 ] );
143
- }
144
- else
139
+ return majorJavaVersion ( System .getProperty ( "java.specification.version" ) );
140
+ }
141
+
142
+ static int majorJavaVersion ( final String javaSpecVersion )
143
+ {
144
+ final String [] components = javaSpecVersion .split ( "\\ ." );
145
+ final int version = Integer .parseInt ( components [0 ] );
146
+ if ( version == 1 )
145
147
{
146
- return Integer .parseInt ( javaSpecVersion );
148
+ return Integer .parseInt ( components [ 1 ] );
147
149
}
150
+ return version ;
148
151
}
149
152
150
153
public String getComment ()
Original file line number Diff line number Diff line change @@ -77,6 +77,16 @@ public class ZipArchiverTest
77
77
extends BasePlexusArchiverTest
78
78
{
79
79
80
+ public void testMajorJavaVersion ()
81
+ {
82
+ assertEquals ( 6 , ZipArchiver .majorJavaVersion ( "1.6" ) );
83
+ assertEquals ( 7 , ZipArchiver .majorJavaVersion ( "1.7" ) );
84
+ assertEquals ( 8 , ZipArchiver .majorJavaVersion ( "1.8" ) );
85
+ assertEquals ( 9 , ZipArchiver .majorJavaVersion ( "9" ) );
86
+ assertEquals ( 10 , ZipArchiver .majorJavaVersion ( "10" ) );
87
+ assertEquals ( 10 , ZipArchiver .majorJavaVersion ( "10.0.2" ) );
88
+ }
89
+
80
90
public void testImplicitPermissions ()
81
91
throws IOException
82
92
{
You can’t perform that action at this time.
0 commit comments