Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
48 lines (40 sloc) 1.79 KB
Code for my presentation of code injection at JavaZone 2011
Get the code, run it and look for 'THE INJECTED CODE SAYS:' in its output.
= Getting the code =
Point your browser to
https://github.com/jakubholynet/JavaZone-Code-Injection/zipball/master
and a ZIP archive download should start.
= Running the examples with Maven =
I've been using Maven 2.2.1.
cd /path/into/the/downloaded/folder/where/pom.xml/is
1. Java Proxy:
mvn -P javaproxy test
2. Javassist:
mvn -P javassist test
3. AspectJ:
mvn -P aspectj test
= Running the examples manually =
* Get the dependencies described in pom.xml and their transitive dependencies
* Compile the sources
* Run them:
*# Java Proxy:
*## java -classpath <the dependencies listed below:/path/to/classes> iterate.jz2011.codeinjection.javaproxy.Main
*# Javassist:
*## java -classpath /path/to/javassist-3.14.0-GA.jar:/path/to/classes iterate.jz2011.codeinjection.javassist.JavassistInstrumenter
*## java -classpath target/javassist:/path/to/classes iterate.jz2011.codeinjection.javassist.Main
*# AspectJ:
*## In aspectj-inject-build.xml define maven.plugin.classpath as described
*## ant -f aspectj-inject-build.xml
*## java -classpath "/path/to/classes:/path/to/aspectjrt-1.6.10.jar" iterate.jz2011.codeinjection.aspectj.Main
Dependencies for the Java Proxy example:
+- net.jakubholy.testing:dbunit-embeddedderby-parenttest:jar:1.2.0:compile
| +- org.apache.derby:derby:jar:10.3.2.1:compile
| +- org.dbunit:dbunit:jar:2.4.7:compile
| | \- commons-collections:commons-collections:jar:3.2.1:compile
| +- junit:junit:jar:3.8.2:compile
| \- org.slf4j:slf4j-api:jar:1.5.6:compile
\- org.slf4j:slf4j-simple:jar:1.5.6:runtime
= License =
The code is in the public domain and fully available for any use, i.e. no licensing issues.
= Copyleft =
Jakub Holy of Iterate AS, 2011