classreloadingtest.groovy

来自「大名鼎鼎的java动态脚本语言。已经通过了sun的认证」· GROOVY 代码 · 共 44 行

GROOVY
44
字号
package groovy.langclass ClassReloadingTest extends GroovyTestCase {	public void testRealoding() {		def file = File.createTempFile("TestReload",".groovy", new File("target"))		file.deleteOnExit()		def className = file.name-".groovy"		def cl = new GroovyClassLoader(this.class.classLoader);		def currentDir = file.parentFile.absolutePath		cl.addClasspath(currentDir)		cl.shouldRecompile = true					        try {     		file.write """    		  class $className {    		    def hello = "hello"    		  }    		  """    		def groovyClass = cl.loadClass(className,true,false)    		def object = groovyClass.newInstance()    		assert "hello"== object.hello            sleep 1000    					    		// change class    		file.write """    		  class $className {    		    def hello = "goodbye"    		  }    		  """    		file.lastModified = System.currentTimeMillis()    		    		// reload		    		groovyClass = cl.loadClass(className,true,false)    		object  = groovyClass.newInstance()    		assert "goodbye" == object.hello    	} finally {		  file.delete()		}	}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?