Bug 461323 - ClassFormatError "invalid modifier 0x8" when trying to make a default method @Loggable
Summary: ClassFormatError "invalid modifier 0x8" when trying to make a default method ...
Status: RESOLVED FIXED
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: 1.8.5   Edit
Hardware: PC Windows 7
: P3 major (vote)
Target Milestone: 1.8.8   Edit
Assignee: aspectj inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-03-03 11:05 EST by Sebastian Millies CLA
Modified: 2016-01-05 20:00 EST (History)
3 users (show)

See Also:


Attachments
JUnit test case (1.05 KB, application/zip)
2015-03-03 11:05 EST, Sebastian Millies CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Sebastian Millies CLA 2015-03-03 11:05:27 EST
Created attachment 251258 [details]
JUnit test case

I am using JDK 1.8, jcabi-aspects 0.21.1 and AspectJ 1.8.5 in Eclipse Luna SR2. I build either in Eclipse or with the jcabi-maven-plugin 0.12.

I have annotated a default method in an interface as @Loggable. After weaving, trying to load that class leads to an error:

java.lang.BootstrapMethodError: java.lang.ClassFormatError: Method apply_aroundBody0 in class java8/aspectsjtest/TheInterface has illegal modifiers: 0x8

That's the "static" modifier.

I have attached an example. Please compile and try to run java8.aspectsjtest.TheInterfaceTest as a JUnit 4 test.

(The intent is to log all function invocations through TheInterface, so I override java.util.functions.Function#apply/1 (which is called in existing code) to delegate to a new abstract method, and annotate the apply-method.)
Comment 1 Andrew Clement CLA 2015-03-27 19:43:22 EDT
Thanks for the testcase.

It is complaining about the static modifier but static methods are OK in interfaces (with J8) so I think it is more the combination of private and static - that is the modifiers given to the helper methods that support the advice, and they are also marked synthetic.

We can reduce the number of helper methods generated from 2 to 1 by specifying -XnoInline but that still leaves 1 rogue method, but it does change the error to:

java.lang.ClassFormatError: Method apply_aroundBody0 in class TheInterface has illegal modifiers: 0x18

(0x18 = final static)
Comment 2 Andrew Clement CLA 2015-03-27 20:07:15 EDT
Funny that this case (around advice on default methods) hasn't come up before, it is an obvious spot where the existing weaving strategy for around advice breaks down. If i tweak the visibility to get avoid the format error, i get even worse exceptions:

Exception in thread "main" java.lang.BootstrapMethodError: call site initialization exception
	at java.lang.invoke.CallSite.makeSite(CallSite.java:341)
	at java.lang.invoke.MethodHandleNatives.linkCallSiteImpl(MethodHandleNatives.java:307)
	at java.lang.invoke.MethodHandleNatives.linkCallSite(MethodHandleNatives.java:297)
	at TheInterfaceTest.testLogging(TheInterfaceTest.java:13)
	at TheInterfaceTest.main(TheInterfaceTest.java:9)
Caused by: java.lang.VerifyError: Operand stack underflow

Or with -XnoInline:

Exception in thread "main" java.lang.VerifyError: (class: TheInterface$AjcClosure1, method: run signature: ([Ljava/lang/Object;)Ljava/lang/Object;) Unable to pop operand off an empty stack
	at TheInterface.apply(TheInterface.java:13)
	at TheInterfaceTest.testLogging(TheInterfaceTest.java:14)
	at TheInterfaceTest.main(TheInterfaceTest.java:9)

possibly easier to address, but they are both similar problems I think, something somewhere is seeing an interface and assuming no 'this'
Comment 3 Andrew Clement CLA 2015-11-19 11:54:39 EST
I've fixed up the visibility problems and the 'unable to pop' problem. In fact the original error:

"has illegal modifiers: 0x8"

was not complaining that STATIC was specified, it was complaining that we hadn't set private or public, since default visibility isn't allowed. A bit misleading.
Comment 4 Russell Gonsalves CLA 2015-12-18 17:00:01 EST
I've got a similar issue.  I see:

java.lang.ClassFormatError: Method delete_aroundBody0 in class com/sas/credentials/domain/DomainRepository has illegal modifiers: 0x18.  

Yes, 0x18 and not 0x8.  But once again there's a default method with an aspectj annotation involved.  I'm also running with 
aspectjweaver-DEVELOPMENT-20150812082000.jar.

The code is in a Spring Boot app.  The relevant interface (mine) is:

public interface DomainRepository extends CrudRepository<DomainEntity, String> {
    @Override
    @Transactional
    default void delete(String s)
    { // in reality there would be code in here ...
    };
}

where CrudRepository is org.springframework.data.repository.CrudRepository.  I use Spring Boot JPA which automatically creates an implementation class under the covers.  For an example, please see: https://spring.io/guides/gs/accessing-data-jpa/.

Please let me know if I should expect the fix for the 0x8 issue to be in aspectjweaver-DEVELOPMENT-20150812082000.jar?  If so, that would make mine a new issue.
Comment 5 Andrew Clement CLA 2015-12-18 18:50:38 EST
I don't think that build you found on the downloads page includes the fix, I've just built something more recent and uploaded it (so a 20151218 build). That should address your problem, but please let me know if it doesn't. Should be available on the AspectJ Downloads page.
Comment 6 Russell Gonsalves CLA 2015-12-18 19:40:37 EST
(In reply to Andrew Clement from comment #5)
> I don't think that build you found on the downloads page includes the fix,
> I've just built something more recent and uploaded it (so a 20151218 build).
> That should address your problem, but please let me know if it doesn't.
> Should be available on the AspectJ Downloads page.

Thanks, Andrew.  I just tried 20151218 but still have the issue.  The traceback I see is shown below.  What I did is extracted aspectjweaver.jar from the downloaded jar into a private area where I named it aspectjweaver-DEVELOPMENT-20151218153500.jar and then specified the path to the jar as a VM arg: -javaagent:C:\BackUpShared\AspectJJars\aspectjweaver-DEVELOPMENT-20151218153500.jar.  The classpath also has has the 1.8.7 jars, though I don't believe that matters since the javaagent argument is what's presumably used for weaving:

015-12-18 19:15:38.803  INFO 7784 --- [           main] .b.l.ClasspathLoggingApplicationListener : Application failed to start with classpath: [file:/C:/Users/sasrag/git/CredentialsService/service/bin/, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/antlr/antlr/2.7.7/83cd2cd674a217ade95a4bb83a8a14f351f48bd0/antlr-2.7.7.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/aopalliance/aopalliance/1.0/235ba8b489512805ac13a8f9ea77a1ca5ebe3e8/aopalliance-1.0.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/asm/asm/3.3.1/1d5f20b4ea675e6fab6ab79f1cd60ec268ddc015/asm-3.3.1.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/ca.juliusdavies/not-yet-commons-ssl/0.3.9/e20f0960c000681c91d00de846a43cf2051b8f69/not-yet-commons-ssl-0.3.9.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/ch.qos.logback/logback-classic/1.1.3/d90276fff414f06cb375f2057f6778cd63c6082f/logback-classic-1.1.3.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/ch.qos.logback/logback-core/1.1.3/e3c02049f2dbbc764681b40094ecf0dcbc99b157/logback-core-1.1.3.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.ecwid.consul/consul-api/1.1.6/e093622736b6c75de4405d0135a422fa176dced4/consul-api-1.1.6.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-annotations/2.6.3/435efa54afd2853995546802280e8cd2d2770d00/jackson-annotations-2.6.3.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-core/2.6.3/142ce64dcd709a4b5f6e7d71305a31d3893d077/jackson-core-2.6.3.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-databind/2.6.3/5c4fcae53dd82e2c549b8322d78c6ff47c94c8a8/jackson-databind-2.6.3.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.fasterxml/classmate/1.1.0/dbbd699a1486ad0f2ed6f5af6cfed66acacb9056/classmate-1.1.0.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.google.code.findbugs/annotations/1.3.9/edeabc3a0f1eb53d115bfea725c7ea21ce5e5c71/annotations-1.3.9.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.google.code.findbugs/jsr305/1.3.9/40719ea6961c0cb6afaeb6a921eaa1f6afd4cfdf/jsr305-1.3.9.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.google.code.gson/gson/2.3.1/ecb6e1f8e4b0e84c4b886c2f14a1500caf309757/gson-2.3.1.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.google.guava/guava/18.0/cce0823396aa693798f8882e64213b1772032b09/guava-18.0.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.google.protobuf/protobuf-java/2.5.0/a10732c76bfacdbd633a7eb0f7968b1059a65dfa/protobuf-java-2.5.0.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.infradna.tool/bridge-method-annotation/1.13/18cdce50cde6f54ee5390d0907384f72183ff0fe/bridge-method-annotation-1.13.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.jayway.jsonpath/json-path/2.0.0/26b8555596b3fb9652c1ffe193fa9123945b32cc/json-path-2.0.0.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.jayway.restassured/json-path/2.3.4/ff92cb25419eaeb976c4db1d95af088db2e01116/json-path-2.3.4.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.jayway.restassured/rest-assured-common/2.3.4/5bb5dcb41617f3927dc17de89efffdb1c2f980c5/rest-assured-common-2.3.4.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.jayway.restassured/rest-assured/2.3.4/bd6d134d6c0b1525796fcb35d049b1577d991cc7/rest-assured-2.3.4.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.jayway.restassured/spring-mock-mvc/2.3.4/fcc0da38f2a08e932c7dff3983629a40f731ed46/spring-mock-mvc-2.3.4.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.jayway.restassured/xml-path/2.3.4/264ee4ec52e136eea36c9dd4d477f6e29967a920/xml-path-2.3.4.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.mysema.commons/mysema-commons-lang/0.2.4/d09c8489d54251a6c22fbce804bdd4a070557317/mysema-commons-lang-0.2.4.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.mysema.querydsl/querydsl-core/3.6.7/7ed0738c8027d3ff66945e381b94ebb1ef37fdda/querydsl-core-3.6.7.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.mysema.querydsl/querydsl-jpa/3.6.7/3b584564c61631c77a1d1f7ca93eef2140a54012/querydsl-jpa-3.6.7.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.rabbitmq/amqp-client/3.5.6/6c71e410bfc671532ca2c6b672d94b0360972f8b/amqp-client-3.5.6.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.rabbitmq/http-client/1.0.0.RELEASE/40e98305d55d300fe1db33a75579c3b9918b9517/http-client-1.0.0.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.sas.cas/cas-client/1.2.0-SNAPSHOT/4990be66dfaf1fc63767da3d03a39ec953c02899/cas-client-1.2.0-SNAPSHOT.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.sas.commons/commons-antlr/1.0.0-SNAPSHOT/4ea62b86a051dc5c7699cb95f4e413e74db952e/commons-antlr-1.0.0-SNAPSHOT.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.sas.commons/commons-context/1.0.0-SNAPSHOT/a141759988d95804ba209f1bd060d1c30cc4fc8b/commons-context-1.0.0-SNAPSHOT.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.sas.commons/commons-expr/2.0.0-SNAPSHOT/273cdd0fda4b49c148d300f1ae0452f93ee69263/commons-expr-2.0.0-SNAPSHOT.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.sas.commons/commons-rest-client/1.0.3-SNAPSHOT/b1cd26fd7f8bcba57916275f61c9a2aab3556efc/commons-rest-client-1.0.3-SNAPSHOT.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.sas.commons/commons-rest-jpa/2.0.4-SNAPSHOT/ef2c4429c59a01b6a1c7121b7e5d2872c247dee6/commons-rest-jpa-2.0.4-SNAPSHOT.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.sas.commons/commons-rest-representations/1.5.1-SNAPSHOT/5c0dcbc8d7d02fd231b6cda4c33617c8a096dec7/commons-rest-representations-1.5.1-SNAPSHOT.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.sas.commons/commons-rest/2.6.1-SNAPSHOT/59a84ca9b8f5bb7d24ede5061e0fa2980fcfd219/commons-rest-2.6.1-SNAPSHOT.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.sas.commons/event-annotations/1.4.0-SNAPSHOT/69ad6d0b1bf44ec5578f4f167cb8e03be50b6a35/event-annotations-1.4.0-SNAPSHOT.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.sas.commons/event-consumer/1.4.0-SNAPSHOT/46534f9eea2f64912b6cf206d069b474c45089d3/event-consumer-1.4.0-SNAPSHOT.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.sas.commons/event-core/1.4.0-SNAPSHOT/5f3eff8911a2eeca7e9a41d15a00229ab16267d3/event-core-1.4.0-SNAPSHOT.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.sas.commons/event-model/1.4.0-SNAPSHOT/f8f3afbbf1ac272114de27218ef01973dd76e624/event-model-1.4.0-SNAPSHOT.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.sas.commons/event-producer-webmvc/1.4.0-SNAPSHOT/127f34acdef398c8bddbdaa8f012ba092667f697/event-producer-webmvc-1.4.0-SNAPSHOT.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.sas.commons/event-producer/1.4.0-SNAPSHOT/60ff3b67f5c8ab91bf5484a76320dae1b182cce6/event-producer-1.4.0-SNAPSHOT.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.sas.configuration/configuration-service-bootstrap/0.1.0-SNAPSHOT/99c3306a891357fefe699efc96724f5f08f9ab6b/configuration-service-bootstrap-0.1.0-SNAPSHOT.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.sas.configuration/configuration-service-representations/0.1.0-SNAPSHOT/37176f641ede979af6f0bc991f7fc3f28e97d913/configuration-service-representations-0.1.0-SNAPSHOT.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.sas.security/authorization-annotations/2.0.0-SNAPSHOT/9e1742827562b3e6d3575ca5cf471d129147daa9/authorization-annotations-2.0.0-SNAPSHOT.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.sas.security/authorization-bootstrap/2.0.0-SNAPSHOT/35c3d6d891552e24c6d1ff7f1a21d23f74a33dc5/authorization-bootstrap-2.0.0-SNAPSHOT.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.sas.security/authorization-config/2.0.0-SNAPSHOT/c32c783b6ed3ffe26e56ba56495cc0e636bc0dcf/authorization-config-2.0.0-SNAPSHOT.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.sas.security/authorization-representations/2.0.0-SNAPSHOT/b71d462bf0a4796c4cc4ff4a62d6364db5f34cff/authorization-representations-2.0.0-SNAPSHOT.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.sas.security/oauth2/3.2.0-SNAPSHOT/e2b958d8116a0c08d5298a6648774b2435e11145/oauth2-3.2.0-SNAPSHOT.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.sas.security/security-web/1.0.2-SNAPSHOT/1936de32b5124b1b440b03d45291abfcc4ad5561/security-web-1.0.2-SNAPSHOT.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.sas.svcs/identities-bootstrap/1.7.8-SNAPSHOT/2d426355f5c8e56280214bb348a25de771932581/identities-bootstrap-1.7.8-SNAPSHOT.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.sas.svcs/identities-representations/1.7.8-SNAPSHOT/72dd3ff72fd4d04873e25396994661ab2d0c1963/identities-representations-1.7.8-SNAPSHOT.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.sas.svcs/preferences-representations/1.1.3-SNAPSHOT/868bcaf5d02ca853a47774ac98778bf120fb5e30/preferences-representations-1.1.3-SNAPSHOT.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.sas.svcs/typeregistry-bootstrap/2.1.1-SNAPSHOT/8ca8f6d85d505ac879481275761edb65bc906f12/typeregistry-bootstrap-2.1.1-SNAPSHOT.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.sas.svcs/typeregistry-representations/2.1.1-SNAPSHOT/6950aa8d361a0e82baf6e58caf9f37fb1f79adc2/typeregistry-representations-2.1.1-SNAPSHOT.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/commons-codec/commons-codec/1.9/9ce04e34240f674bc72680f8b843b1457383161a/commons-codec-1.9.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/commons-collections/commons-collections/3.2.1/761ea405b9b37ced573d2df0d1e3a4e0f9edc668/commons-collections-3.2.1.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/commons-httpclient/commons-httpclient/3.1/964cd74171f427720480efdec40a7c7f6e58426a/commons-httpclient-3.1.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/commons-io/commons-io/2.6-SNAPSHOT/47fd326ac2212f226d83659fd0d19f23c1e92cf3/commons-io-2.6-SNAPSHOT.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/commons-lang/commons-lang/2.6/ce1edb914c94ebc388f086c6827e8bdeec71ac2/commons-lang-2.6.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/commons-logging/commons-logging/1.2/4bfc12adfe4842bf07b657f0369c4cb522955686/commons-logging-1.2.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/dom4j/dom4j/1.6.1/5d3ccc056b6f056dbf0dddfdf43894b9065a8f94/dom4j-1.6.1.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/javax.servlet/javax.servlet-api/3.1.0/3cd63d075497751784b2fa84be59432f4905bf7c/javax.servlet-api-3.1.0.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/javax.transaction/javax.transaction-api/1.2/d81aff979d603edd90dcd8db2abc1f4ce6479e3e/javax.transaction-api-1.2.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/javax.validation/validation-api/1.1.0.Final/8613ae82954779d518631e05daa73a6a954817d5/validation-api-1.1.0.Final.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/joda-time/joda-time/2.8.2/d27c24204c5e507b16fec01006b3d0f1ec42aed4/joda-time-2.8.2.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/junit/junit/4.12/2973d150c0dc1fefe998f834810d68f278ea58ec/junit-4.12.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/log4j/log4j/1.2.17/5af35056b4d257e4b64b9e8069c0746e8b08629f/log4j-1.2.17.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/net.jcip/jcip-annotations/1.0/afba4942caaeaf46aab0b976afd57cc7c181467e/jcip-annotations-1.0.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/net.minidev/asm/1.0.2/49f3068a4591b4aa6af553905ff2145685a21c2c/asm-1.0.2.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/net.minidev/json-smart/2.1.1/922d12fb1f394e2b6999ae0f7936ab13f4dffb81/json-smart-2.1.1.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.antlr/antlr-runtime/3.2/31c746001016c6226bd7356c9f87a6a084ce3715/antlr-runtime-3.2.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.antlr/antlr/3.2/6b0acabea7bb3da058200a77178057e47e25cb69/antlr-3.2.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.antlr/stringtemplate/3.2/6fe2e3bb57daebd1555494818909f9664376dd6c/stringtemplate-3.2.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-collections4/4.0/da217367fd25e88df52ba79e47658d4cf928b0d1/commons-collections4-4.0.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-lang3/3.3.2/90a3822c38ec8c996e84c16a3477ef632cbc87a3/commons-lang3-3.3.2.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpclient/4.5.1/7e3cecc566df91338c6c67883b89ddd05a17db43/httpclient-4.5.1.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpcore/4.4.4/b31526a230871fbe285fbcbe2813f9c0839ae9b0/httpcore-4.4.4.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpmime/4.5.1/96823b9421ebb9f490dec837d9f96134e864e3a7/httpmime-4.5.1.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.apache.santuario/xmlsec/1.4.4/51540a219dd15cf8847df13d7d57e67cc0ba6e66/xmlsec-1.4.4.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-core/8.0.28/dd5f6dea56f0227f1b4e7d85ae6ad8041886fcad/tomcat-embed-core-8.0.28.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-el/8.0.28/12ff86316ae8835b410461401ce8a77d040b0c5f/tomcat-embed-el-8.0.28.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-logging-juli/8.0.28/315e9c3d6d93fcb482eea89ee23c9af9fd1cc4b5/tomcat-embed-logging-juli-8.0.28.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-websocket/8.0.28/61dfc07af876f1fa9ee9f30112babf30c721a543/tomcat-embed-websocket-8.0.28.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.apache.tomcat/tomcat-jdbc/8.0.28/3b322b35a7081d3aa2051d2d8317bdbf09d4853a/tomcat-jdbc-8.0.28.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.apache.tomcat/tomcat-juli/8.0.28/924035c8550867c0ae1f16b3e036be8fd2e3424b/tomcat-juli-8.0.28.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.aspectj/aspectjrt/1.8.7/c4b70e763194d274477da4da9b05ea913e877268/aspectjrt-1.8.7.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.aspectj/aspectjweaver/1.8.7/f753e78bbe484e58b3b4e5ce3cc1751e50d11f6c/aspectjweaver-1.8.7.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.bouncycastle/bcpkix-jdk15on/1.47/cd204e6f26d2bbf65ff3a30de8831d3a1344e851/bcpkix-jdk15on-1.47.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.bouncycastle/bcprov-jdk15/1.45/7741883cb07b4634e8b5fd3337113b6ea770a9bb/bcprov-jdk15-1.45.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.bouncycastle/bcprov-jdk15on/1.47/b6f5d9926b0afbde9f4dbe3db88c5247be7794bb/bcprov-jdk15on-1.47.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.ccil.cowan.tagsoup/tagsoup/1.2.1/5584627487e984c03456266d3f8802eb85a9ce97/tagsoup-1.2.1.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.codehaus.groovy/groovy-json/2.4.4/e381f7e5bbf9c278d516f387593519e629d732ba/groovy-json-2.4.4.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.codehaus.groovy/groovy-xml/2.4.4/c991073e2787ff9ef05bc04dcae7bddde05dcecb/groovy-xml-2.4.4.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.codehaus.groovy/groovy/2.4.4/62dc4f50804c40f3233977e2d3d1a4abca60bc41/groovy-2.4.4.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.codehaus.jackson/jackson-core-asl/1.9.13/3c304d70f42f832e0a86d45bd437f692129299a4/jackson-core-asl-1.9.13.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.codehaus.jackson/jackson-mapper-asl/1.9.13/1ee2f2bed0e5dd29d1cb155a166e6f8d50bbddb7/jackson-mapper-asl-1.9.13.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-core/1.3/42a25dc3219429f0e5d060061f71acb49bf010a0/hamcrest-core-1.3.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-library/1.3/4785a3c21320980282f9f33d0d1264a69040538f/hamcrest-library-1.3.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.hibernate.common/hibernate-commons-annotations/4.0.5.Final/2a581b9edb8168e45060d8bad8b7f46712d2c52c/hibernate-commons-annotations-4.0.5.Final.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.hibernate.javax.persistence/hibernate-jpa-2.1-api/1.0.0.Final/5e731d961297e5a07290bfaf3db1fbc8bbbf405a/hibernate-jpa-2.1-api-1.0.0.Final.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.hibernate/hibernate-core/4.3.11.Final/536ac0021240d97db99c7d2983067cef1a6f3af5/hibernate-core-4.3.11.Final.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.hibernate/hibernate-entitymanager/4.3.11.Final/27a119fcc2b91c50e5285dd11158fac2c38c9d1b/hibernate-entitymanager-4.3.11.Final.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.hibernate/hibernate-validator/5.2.2.Final/990905cd9184450c5f3e929ab2566305e3a67fa1/hibernate-validator-5.2.2.Final.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.hsqldb/hsqldb/2.3.3/d12d506194447dffb8a2b05dd2c50b0cdd73d9d1/hsqldb-2.3.3.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.jasig.cas.client/cas-client-core/3.3.3/4075c60835d9159ff6dee809037caa7d29019af1/cas-client-core-3.3.3.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.javassist/javassist/3.18.1-GA/d9a09f7732226af26bf99f19e2cffe0ae219db5b/javassist-3.18.1-GA.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.jboss.logging/jboss-logging-annotations/1.2.0.Beta1/2f437f37bb265d9f8f1392823dbca12d2bec06d6/jboss-logging-annotations-1.2.0.Beta1.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.jboss.logging/jboss-logging/3.3.0.Final/3616bb87707910296e2c195dc016287080bba5af/jboss-logging-3.3.0.Final.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.jboss/jandex/1.1.0.Final/e84a2122e76f0b6503be78094ddf2108057ac15f/jandex-1.1.0.Final.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.json/json/20140107/d1ffca6e2482b002702c6a576166fd685e3370e3/json-20140107.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.mockito/mockito-core/1.10.19/e8546f5bef4e061d8dd73895b4e8f40e3fe6effe/mockito-core-1.10.19.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.objenesis/objenesis/2.1/87c0ea803b69252868d09308b4618f766f135a96/objenesis-2.1.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.opensaml/opensaml/2.5.1-1/9736dcbe852dda3ce263a9c6e33579cd5af203e5/opensaml-2.5.1-1.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.opensaml/openws/1.4.2-1/c835fd5214632ed4befbca23dd42e062e80ceb85/openws-1.4.2-1.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.opensaml/xmltooling/1.3.2-1/6446e9ac7e90667d6883ac583c402601dec75e34/xmltooling-1.3.2-1.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.owasp.esapi/esapi/2.0GA/e51c5bcbbb81f1d98780af3368c537ffa1059724/esapi-2.0GA.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.postgresql/postgresql/9.4-1206-jdbc42/e91af69cfb3390a73449d1157753ca4e7b97765c/postgresql-9.4-1206-jdbc42.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.slf4j/jcl-over-slf4j/1.7.13/d78d2242e14e4182625152d225f76ae52b43491d/jcl-over-slf4j-1.7.13.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.slf4j/jul-to-slf4j/1.7.13/43759e986de5fec7045e35e9533e5ad2f6cd1b05/jul-to-slf4j-1.7.13.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.slf4j/log4j-over-slf4j/1.7.13/b5f4685073a6ffba6bf7e1d51e2b5fb83bdfa953/log4j-over-slf4j-1.7.13.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-api/1.7.13/7fcf30c25b8f4a9379b9dad0d3f487b25272c026/slf4j-api-1.7.13.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework.amqp/spring-amqp/1.5.2.RELEASE/d39ad57ec8cef1b5afbd26743b6aaa4da961592d/spring-amqp-1.5.2.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework.amqp/spring-rabbit/1.5.2.RELEASE/951b81e837150e473c96f4cd0ec051528d470d05/spring-rabbit-1.5.2.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-actuator/1.3.0.RELEASE/fe289686902cd4a7dc98fb7203f82ed87ee5752e/spring-boot-actuator-1.3.0.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-autoconfigure/1.3.0.RELEASE/a265041d056518de098b51c2357597735ea465d/spring-boot-autoconfigure-1.3.0.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-actuator/1.3.0.RELEASE/5261519295d445298f34e3792be5d1c1cc37b536/spring-boot-starter-actuator-1.3.0.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-aop/1.3.0.RELEASE/b59a423e6b181101c1e281170bfa91093d808652/spring-boot-starter-aop-1.3.0.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-data-jpa/1.3.0.RELEASE/77ed2c58bb488b26a590db6563300d35d2a53567/spring-boot-starter-data-jpa-1.3.0.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-jdbc/1.3.0.RELEASE/73d5330f68cb17a7b5cdbf5a43ae93a668e56a95/spring-boot-starter-jdbc-1.3.0.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-logging/1.3.0.RELEASE/17e106a8a13a9c98515a8eb0dae2d3d80420d666/spring-boot-starter-logging-1.3.0.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-security/1.3.0.RELEASE/2bec13c6f320f9765cddba1ccf798600f2da87d8/spring-boot-starter-security-1.3.0.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-test/1.3.0.RELEASE/90aa8649bbbc79d5324093e6140aa1dbf59231c4/spring-boot-starter-test-1.3.0.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-tomcat/1.3.0.RELEASE/5644559c2333d9ab2af574609624d5918f07eee9/spring-boot-starter-tomcat-1.3.0.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-validation/1.3.0.RELEASE/a9791affe229b42eae425486a9344a1dc13acf1c/spring-boot-starter-validation-1.3.0.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-web/1.3.0.RELEASE/ce3b560a6e9f3112ce3c5ccbc94a46a01574fad4/spring-boot-starter-web-1.3.0.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter/1.3.0.RELEASE/44e2cf56424b1c0cdf101cbb2582d7ff77634967/spring-boot-starter-1.3.0.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot/1.3.0.RELEASE/4939c8b549d1e2b4b8d5f57bfc404435896fe865/spring-boot-1.3.0.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework.cloud/spring-cloud-commons/1.1.0.BUILD-SNAPSHOT/e142deaca1f2a9b46a67e71091df40560eac271b/spring-cloud-commons-1.1.0.BUILD-SNAPSHOT.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework.cloud/spring-cloud-consul-config/3.0.0.SAS-SNAPSHOT/faf4321d2e7d356705edf79eaee50044a5f8f195/spring-cloud-consul-config-3.0.0.SAS-SNAPSHOT.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework.cloud/spring-cloud-consul-core/3.0.0.SAS-SNAPSHOT/2acba9f6fa5658190c55c180440da4daaed6086f/spring-cloud-consul-core-3.0.0.SAS-SNAPSHOT.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework.cloud/spring-cloud-consul-discovery/3.0.0.SAS-SNAPSHOT/540864c7e688f9300df2726183de360c7a7c3309/spring-cloud-consul-discovery-3.0.0.SAS-SNAPSHOT.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework.cloud/spring-cloud-context/1.1.0.BUILD-SNAPSHOT/ad7eebe379e728633771e647a5df9b97e85d6f40/spring-cloud-context-1.1.0.BUILD-SNAPSHOT.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework.data/spring-data-commons/1.11.1.RELEASE/bb04a4cba7a44b8822a63e1681eb9667955bc8bf/spring-data-commons-1.11.1.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework.data/spring-data-jpa/1.9.1.RELEASE/f6d5d7df671c471bc1be745c15857226e68a30b3/spring-data-jpa-1.9.1.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework.integration/spring-integration-amqp/4.2.1.RELEASE/2eb652ad50bab975dd77ca2800e8b571e3f12b8d/spring-integration-amqp-4.2.1.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework.integration/spring-integration-core/4.2.1.RELEASE/bb42e637833fd9c17df6092790d6209872e0bd65/spring-integration-core-4.2.1.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework.integration/spring-integration-java-dsl/1.0.1.RELEASE/91b6d85c168d20a3e70d3d943beb91f33183a213/spring-integration-java-dsl-1.0.1.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework.ldap/spring-ldap-core/2.0.2.RELEASE/9295560b3246a7657df0d1548a45258b19ce6ec0/spring-ldap-core-2.0.2.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework.retry/spring-retry/1.1.2.RELEASE/949a23beb82ebe31d7a1d47022353b8338c4da11/spring-retry-1.1.2.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework.security.oauth/spring-security-oauth2/2.0.8.RELEASE/d02b4025f64318436af7a3b3dea339cd12915a20/spring-security-oauth2-2.0.8.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework.security/spring-security-cas/4.0.3.RELEASE/903aeccc1861594820f1560e73fede625de1785d/spring-security-cas-4.0.3.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework.security/spring-security-config/4.0.3.RELEASE/31c0a4d0159f1b668d9512f57fb46aac29949b08/spring-security-config-4.0.3.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework.security/spring-security-core/4.0.3.RELEASE/9f420c5742ad063970c5d33f60680a1cee777aa5/spring-security-core-4.0.3.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework.security/spring-security-crypto/4.0.3.RELEASE/46802f89ed4b7894b527058aeaeeab7fba53276a/spring-security-crypto-4.0.3.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework.security/spring-security-jwt/1.0.3.RELEASE/6adde06e8a1f977ca13e2f684ab92715420d402a/spring-security-jwt-1.0.3.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework.security/spring-security-ldap/4.0.3.RELEASE/7e655feb678ef09f484cad6ae1237f89663f3f99/spring-security-ldap-4.0.3.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework.security/spring-security-web/4.0.3.RELEASE/5f0233d94ca53ac8710780b43791f633f970480a/spring-security-web-4.0.3.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework/spring-aop/4.2.3.RELEASE/6384a57a024df03bfcb1eeccd3d820da98125b92/spring-aop-4.2.3.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework/spring-aspects/4.2.3.RELEASE/14233c5c12a69dd31296b890a341a719de5319fc/spring-aspects-4.2.3.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework/spring-beans/4.2.3.RELEASE/249921ead97248410ac04f854075f0a1c1a567e4/spring-beans-4.2.3.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework/spring-context/4.2.3.RELEASE/fb26a160d984eb9cbf01fbf38f4b17e15fdd50e1/spring-context-4.2.3.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework/spring-core/4.2.3.RELEASE/3ed00dad7a16b2a28df9348294f6a67151f43cf6/spring-core-4.2.3.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework/spring-expression/4.2.3.RELEASE/67b064c726c276436387c7a183a49deda153a6cc/spring-expression-4.2.3.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework/spring-jdbc/4.2.3.RELEASE/22f129baf3914b6bbaa842f9356c32d93ecf7bc1/spring-jdbc-4.2.3.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework/spring-messaging/4.2.3.RELEASE/a81c0d6ae0d8770fc1f303401f0e51377add744d/spring-messaging-4.2.3.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework/spring-orm/4.2.3.RELEASE/bd954843a54630fd8e45a2fc6f28140154d32188/spring-orm-4.2.3.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework/spring-test/4.2.3.RELEASE/d7c055b8fb1117ef75045679892228a4816cd80e/spring-test-4.2.3.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework/spring-tx/4.2.3.RELEASE/617420d7e0351c334aa4495d6f30ad21c4c643a7/spring-tx-4.2.3.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework/spring-web/4.2.3.RELEASE/98eea3fbe01450fff18aeb7e6003f80a879a049e/spring-web-4.2.3.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.springframework/spring-webmvc/4.2.3.RELEASE/46803840259c6d51c531e4f07f4213d758c6ee1d/spring-webmvc-4.2.3.RELEASE.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/org.yaml/snakeyaml/1.16/d64fb662c9e42789149f5078a62a22edda786c6a/snakeyaml-1.16.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/velocity/velocity/1.5/9f306baf7523ffc0e81a6353d08a584d254133b/velocity-1.5.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/xalan/serializer/2.7.1/4b4b18df434451249bb65a63f2fb69e215a6a020/serializer-2.7.1.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/xalan/xalan/2.7.1/75f1d83ce27bab5f29fff034fc74aa9f7266f22a/xalan-2.7.1.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/xerces/xercesImpl/2.10.0/9161654d2afe7f9063455f02ccca8e4ec2787222/xercesImpl-2.10.0.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/xml-apis/xml-apis/1.4.01/3789d9fada2d3d458c4ba2de349d48780f381ee3/xml-apis-1.4.01.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/xml-resolver/xml-resolver/1.2/3d0f97750b3a03e0971831566067754ba4bfd68c/xml-resolver-1.2.jar, file:/C:/Users/sasrag/git/CredentialsService/representations/bin/, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-annotations/2.4.0/d6a66c7a5f01cf500377bd669507a08cfeba882a/jackson-annotations-2.4.0.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-core/2.4.5/6fb96728ee26edb19fe329d94f3bd4df1a97652a/jackson-core-2.4.5.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-databind/2.4.5/c69c0cb613128c69d84a6a0304ddb9fce82e8242/jackson-databind-2.4.5.jar, file:/C:/Users/sasrag/.gradle/caches/modules-2/files-2.1/junit/junit/4.13-SNAPSHOT/160e8dafc2f10a96c67fd36913ba3213c5fd55ad/junit-4.13-SNAPSHOT.jar, file:/C:/Users/sasrag/git/CredentialsService/representations/build/info/resources/, file:/C:/BackUpShared/AspectJJars/aspectjweaver-DEVELOPMENT-20151218153500.jar]
2015-12-18 19:15:38.808 ERROR 7784 --- [           main] o.s.boot.SpringApplication               : Application startup failed

java.lang.ClassFormatError: Method delete_aroundBody0 in class com/sas/credentials/domain/DomainRepository has illegal modifiers: 0x18
	at java.lang.ClassLoader.defineClass1(Native Method) ~[na:1.8.0_31]
	at java.lang.ClassLoader.defineClass(ClassLoader.java:760) ~[na:1.8.0_31]
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[na:1.8.0_31]
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:455) ~[na:1.8.0_31]
	at java.net.URLClassLoader.access$100(URLClassLoader.java:73) ~[na:1.8.0_31]
	at java.net.URLClassLoader$1.run(URLClassLoader.java:367) ~[na:1.8.0_31]
	at java.net.URLClassLoader$1.run(URLClassLoader.java:361) ~[na:1.8.0_31]
	at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_31]
	at java.net.URLClassLoader.findClass(URLClassLoader.java:360) ~[na:1.8.0_31]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_31]
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) ~[na:1.8.0_31]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_31]
	at org.springframework.util.ClassUtils.forName(ClassUtils.java:250) ~[spring-core-4.2.3.RELEASE.jar:4.2.3.RELEASE]
	at org.springframework.data.repository.config.RepositoryBeanNameGenerator.getRepositoryInterfaceFrom(RepositoryBeanNameGenerator.java:74) ~[spring-data-commons-1.11.1.RELEASE.jar:na]
	at org.springframework.data.repository.config.RepositoryBeanNameGenerator.generateBeanName(RepositoryBeanNameGenerator.java:54) ~[spring-data-commons-1.11.1.RELEASE.jar:na]
	at org.springframework.data.repository.config.RepositoryConfigurationDelegate.registerRepositoriesIn(RepositoryConfigurationDelegate.java:139) ~[spring-data-commons-1.11.1.RELEASE.jar:na]
	at org.springframework.boot.autoconfigure.data.AbstractRepositoryConfigurationSourceSupport.registerBeanDefinitions(AbstractRepositoryConfigurationSourceSupport.java:59) ~[spring-boot-autoconfigure-1.3.0.RELEASE.jar:1.3.0.RELEASE]
	at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsFromRegistrars(ConfigurationClassBeanDefinitionReader.java:352) ~[spring-context-4.2.3.RELEASE.jar:4.2.3.RELEASE]
	at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:143) ~[spring-context-4.2.3.RELEASE.jar:4.2.3.RELEASE]
	at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:116) ~[spring-context-4.2.3.RELEASE.jar:4.2.3.RELEASE]
	at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:333) ~[spring-context-4.2.3.RELEASE.jar:4.2.3.RELEASE]
	at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:243) ~[spring-context-4.2.3.RELEASE.jar:4.2.3.RELEASE]
	at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:273) ~[spring-context-4.2.3.RELEASE.jar:4.2.3.RELEASE]
	at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:98) ~[spring-context-4.2.3.RELEASE.jar:4.2.3.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:677) ~[spring-context-4.2.3.RELEASE.jar:4.2.3.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:519) ~[spring-context-4.2.3.RELEASE.jar:4.2.3.RELEASE]
	at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118) ~[spring-boot-1.3.0.RELEASE.jar:1.3.0.RELEASE]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752) [spring-boot-1.3.0.RELEASE.jar:1.3.0.RELEASE]
	at org.springframework.boot.SpringApplication.doRun(SpringApplication.java:347) [spring-boot-1.3.0.RELEASE.jar:1.3.0.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:295) [spring-boot-1.3.0.RELEASE.jar:1.3.0.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1112) [spring-boot-1.3.0.RELEASE.jar:1.3.0.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1101) [spring-boot-1.3.0.RELEASE.jar:1.3.0.RELEASE]
	at com.sas.credentials.ServiceConfiguration.main(ServiceConfiguration.java:29) [bin/:na]
Comment 7 Andrew Clement CLA 2015-12-22 00:15:35 EST
Ok, I'll create a sample based on what you mentioned and check if it is failing in the same way (unless you want to attach a project that definitely fails?) - so I just follow the guide you linked then add the DomainRepository like you have it?
Comment 8 Russell Gonsalves CLA 2015-12-23 09:57:13 EST
Andrew,

I tried the original attached test case and, while it fails in 1.8.7, I do see that it is fixed in your 20151218 build.

I next decided to try the sample in https://spring.io/guides/gs/accessing-data-jpa/ to see if I could use that to reproduce the problem with the 20151218 build.  Fortunately, I was able to do so.  Please follow the instructions on that page, but use the "complete" project which has the solution.  First run that to confirm that you do see the desired output.  Next modify CustomerRepository to add the delete method shown below:

    @Override
    @Transactional
    default void delete(Long l)
    {
        Customer entity = findOne(l);
        if (entity == null)
            System.out.println("No customer!");
        else
            delete(entity);
    };

I suspect the contents of the method are irrelevant.  Now, if you run the app with load time weaving which is needed to weave support for Transactional (I specify a VM arg of -javaagent:C:\BackUpShared\AspectJJars\aspectjweaver-DEVELOPMENT-20151218153500.jar) you'll see:

Exception in thread "main" java.lang.ClassFormatError: Method delete_aroundBody0 in class hello/CustomerRepository has illegal modifiers: 0x18

Hoping the above makes reproducing it simple.

Russell
Comment 9 Russell Gonsalves CLA 2015-12-23 10:06:47 EST
Also, please let me know if a new report needs to be created since this has a status of RESOLVED, FIXED.
Comment 10 Andrew Clement CLA 2016-01-05 20:00:29 EST
I'm having a bit of trouble recreating it with recent builds. I have the completed variant of the accessing-data-jpa guide. I added your snippet with the relevant import. I then rebuilt the project. Then I am doing:

export MAVEN_OPTS=
  "-javaagent:/Users/aclement/installs/aspectj187/lib/aspectjweaver.jar"
mvn spring-boot:run

And this failed as expected:

java.lang.ClassFormatError: Method delete_aroundBody0 in class hello/CustomerRepository has illegal modifiers: 0x18
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:760)

I then did it with the weaver from the current dev build:

export MAVEN_OPTS="-javaagent:/Users/aclement/Downloads/aspectj-DEVELOPMENT-20151218153500/lib/aspectjweaver.jar"
mvn spring-boot:run

and it doesn't fail. I'm still playing around with it.