Hello, it does not sound to be related to maven. This is more a surefire/junit thing. I guess you are initialising some JSSE/JCE related object before you can set the system property - and therefore it is ignored. (because some initialiser or just because another test is running before in the same JVM),
I would stick with the systemProperty in POM. But if you want to make it programmatically try to squeece it into the setUpBeforeClass() or even having a custom @RunWith runner. BTW: I think the exceptin text is right, the problem is that disableSSLv3 is (Still) true. Greetings Bernd Am Mon, 29 Dec 2014 18:18:01 +0800 schrieb 李响 <wate...@gmail.com>: > Hi, I am using IBM JDK 7.1-2.0. Because SSL v3 is disabled by the > JDK, so I need to set com.ibm.jsse2.disableSSLv3 to false to enable > it when running some test cases. > > The project is managed by maven. I tried with: > > 1. mvn xxxx -Dcom.ibm.jsse2.disableSSLv3=false, or add > <com.ibm.jsse2.disableSSLv3>false</com.ibm.jsse2.disableSSLv3> into > <systemPropertyVariables> of pom.xml. > > It works. > > 2. Modify the java source file of the test case > I used : String > old=System.setProperty("com.ibm.jsse2.disableSSLv3", "false") and got > the exception: > > Caused by: java.lang.IllegalArgumentException: Only SSLv3 was enabled > while com.ibm.jsse2.disableSSLv3 is set to true (It should be "false" > here, seems a JDK bug, never mind) > at com.ibm.jsse2.pb.a(pb.java:17) > at com.ibm.jsse2.pb.<init>(pb.java:7) > at com.ibm.jsse2.qc.setEnabledProtocols(qc.java:689) > at > org.apache.flume.source.http.TestHTTPSource$DisabledProtocolsSocketFactory.createSocket(TestHTTPSource.java:514) > <-- sc.setEnabledProtocols(protocols), sc is an instance of SSLSocket > at > com.ibm.net.ssl.www2.protocol.https.c.afterConnect(c.java:7) at > com.ibm.net.ssl.www2.protocol.https.d.connect(d.java:9) at > sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1103) > at > com.ibm.net.ssl.www2.protocol.https.b.getOutputStream(b.java:84) at > org.apache.flume.source.http.TestHTTPSource.doTestHttps(TestHTTPSource.java:392) > at > org.apache.flume.source.http.TestHTTPSource.testHttpsSSLv3(TestHTTPSource.java:321) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56) > at java.lang.reflect.Method.invoke(Method.java:620) > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45) > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42) > at > org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) > at > org.junit.internal.runners.statements.ExpectException.evaluate(ExpectException.java:22) > ... 24 more > > I printed the value of com.ibm.jsse2.disableSSLv3 before the line > 514 of TestHTTPSource.java, > and com.ibm.jsse2.disableSSLv3 is false, as expected. > > It seems that com.ibm.jsse2.disableSSLv3=false do not take effect > here. Why ???? Is it because the program gets out of > TestHTTPSource.java and get into JDK, or something else, so the > system property does not take effect ?? > > THANKS IN ADVANCE ! > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org