{"action":"created","issue":{"url":"https://api.github.com/repos/spring-projects/spring-boot/issues/739","labels_url":"https://api.github.com/repos/spring-projects/spring-boot/issues/739/labels{/name}","comments_url":"https://api.github.com/repos/spring-projects/spring-boot/issues/739/comments","events_url":"https://api.github.com/repos/spring-projects/spring-boot/issues/739/events","html_url":"https://github.com/spring-projects/spring-boot/issues/739","id":32310284,"number":739,"title":"AspectJ based load time weaving using an LTW aware classloader without Java agent on \"java -jar app.jar\"","user":{"login":"alex-konkov","id":5979834,"avatar_url":"https://avatars.githubusercontent.com/u/5979834?v=3","gravatar_id":"","url":"https://api.github.com/users/alex-konkov","html_url":"https://github.com/alex-konkov","followers_url":"https://api.github.com/users/alex-konkov/followers","following_url":"https://api.github.com/users/alex-konkov/following{/other_user}","gists_url":"https://api.github.com/users/alex-konkov/gists{/gist_id}","starred_url":"https://api.github.com/users/alex-konkov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alex-konkov/subscriptions","organizations_url":"https://api.github.com/users/alex-konkov/orgs","repos_url":"https://api.github.com/users/alex-konkov/repos","events_url":"https://api.github.com/users/alex-konkov/events{/privacy}","received_events_url":"https://api.github.com/users/alex-konkov/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/spring-projects/spring-boot/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/spring-projects/spring-boot/labels/icebox","name":"icebox","color":"ededed"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":16,"created_at":"2014-04-27T12:21:23Z","updated_at":"2015-08-18T09:51:32Z","closed_at":null,"body":"AspectJ based load time weaving (LTW) can be set up with Spring Boot, however when running as a dead simple \"java -jar app.jar\" the classes are not woven until Java agent is specified. (AspectJ + LTW + self contained JAR) is a potentially cool combination for many Spring Boot powered projects that need to leverage AOP without needing to play any additional tricks (or worrying about not forgetting to).\r\n\r\nThis feature request is about adding an AspectJ LTW bootstrapping code straight into the Spring Boot launcher where a specific class-loader is initialised. Then, the client projects that would like to stick with the simplest \"java -jar app.jar\" startup way would be able to leverage power of AspectJ LTW weaving feature out of the box.\r\n\r\nhttp://stackoverflow.com/questions/23219772/spring-boot-and-aspectj-based-ltw-without-java-agent/23248830?noredirect=1#comment35709788_23248830"},"comment":{"url":"https://api.github.com/repos/spring-projects/spring-boot/issues/comments/132148778","html_url":"https://github.com/spring-projects/spring-boot/issues/739#issuecomment-132148778","issue_url":"https://api.github.com/repos/spring-projects/spring-boot/issues/739","id":132148778,"user":{"login":"wilkinsona","id":914682,"avatar_url":"https://avatars.githubusercontent.com/u/914682?v=3","gravatar_id":"","url":"https://api.github.com/users/wilkinsona","html_url":"https://github.com/wilkinsona","followers_url":"https://api.github.com/users/wilkinsona/followers","following_url":"https://api.github.com/users/wilkinsona/following{/other_user}","gists_url":"https://api.github.com/users/wilkinsona/gists{/gist_id}","starred_url":"https://api.github.com/users/wilkinsona/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wilkinsona/subscriptions","organizations_url":"https://api.github.com/users/wilkinsona/orgs","repos_url":"https://api.github.com/users/wilkinsona/repos","events_url":"https://api.github.com/users/wilkinsona/events{/privacy}","received_events_url":"https://api.github.com/users/wilkinsona/received_events","type":"User","site_admin":false},"created_at":"2015-08-18T09:51:32Z","updated_at":"2015-08-18T09:51:32Z","body":"> hmm, not sure the miss of a feature on the test framework is a compelling argument...\r\n\r\nAs I said above, that's a secondary concern. My primary concern is about the complexity of having things behave differently when you run using `java -jar`, vs launching the main method in your IDE, vs launching via our Maven or Gradle plugins. Rather than having to document different behaviour depending on how you launch your application, I like the consistency of the current behaviour. As things stand, you consistently have to configure the agent. Adding some magic to `java -jar` would break that consistency.\r\n\r\nThe Java buildpack already has support for a number of Java agents. Another way to tackle your particular problem would be via an enhancement to the buildpack. /cc @cgfrost"}}