I have problems deploying the following stateless ejb to jboss 7.0.2.
The cause of the problem is the new java 7 try-with-resources statement in combination with a variable declared ouside of the try block.
The following code does not make sense its just a sample to reproduce the problem.
 
Is it a good idea to run AS7 with Java 7 or would you suggest using Java 6?
 
 
@Stateless
public class VerifyErrorBean {
    /*
    deployment failes with:
    Caused by: java.lang.VerifyError: Inconsistent stackmap frames at branch target 129 in method inet.module.is.dao.VerifyErrorBean.doIt()V at offset 52
    at java.lang.Class.getDeclaredFields0(Native Method) [:1.7.0_01]
    at java.lang.Class.privateGetDeclaredFields(Class.java:2308) [:1.7.0_01]
    at java.lang.Class.getDeclaredFields(Class.java:1760) [:1.7.0_01]
    at org.jboss.as.server.deployment.reflect.ClassReflectionIndex.<init>(ClassReflectionIndex.java:57) [jboss-as-server-7.0.2.Final.jar:7.0.2.Final]
    at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:66) [jboss-as-server-7.0.2.Final.jar:7.0.2.Final]
    */
    public void doIt() {
        int result; // without the variable it works ...
        try (OutputStream out1 = new ByteArrayOutputStream();
             OutputStream out2 = new ByteArrayOutputStream();) {
            result = 1;
        } catch (IOException e) {
            throw new RuntimeException("Some Error", e);
        }
        System.out.println("result=" + result);
    }
}
 
Thanks
Günther