java - groovy win cmd line class and script -


i'm trying run groovy(2.4.3) script on windows calls goovy class xxxxx.groovy. i've tried number of variations using classpath , various scripts, examples below, getting multiplecompliationerrorsexception.... unable resolve class

classfile firstclass.groovy

import org.apache.commons.io.filenameutils  class firstclassstart {         def  wluid,  wlpwd,  wlserver, port         private wlconnection, connectstring, jmxconnector, filpath, filpass, filname, osrpdpath, passphrase         // object constructor        firstclassstart(wluid, wlpwd, wlserver, port) {                        this.wluid = wluid            this.wlpwd = wlpwd            this.wlserver = wlserver            this.port = port              }         def isfile(filpath) {            // create file object representing folder 'a/b'            def folder = new file(filpath)             if (!org.apache.commons.io.filenameutils.isextension(filpath, "txt")) {                println "bad extension"                return false            } else if (!folder.exists()) {                // create folders up-to , including b                println " path wrong"                return false            } else                println "file found"            return true        }    } 

cmd line script test.groovy

import firstclass def sample = new firstclass.firstclassstart("weblogic", "admin123", "x.com", "7002") //def sample = new firstclassstart("weblogic", "admin123", "x.com", "7002") sample.isfile("./firstclass.groovy")  ..\groovy -cp "firstclass.groovy;commons-io-1.3.2.jar" testfc.groovy 

script test.groovy

groovyshell shell = new groovyshell() def script = shell.parse(new file('mylib/firstclass.groovy')) firstclass sample = new script.firstclass("uid", "pwd", "url", "port") sample.getstatus()  c:>groovy test.groovy 

script test.groovy v2 put firstclass.groovy in directory test below script

import test.firstclass firstclass sample = new script.firstclass("uid", "pwd", "url", "port") sample.getstatus()  c:>groovy test.groovy 

just looking bullet proof, portable way oranize java classes, .groovy classess, etc. , scripts.

thanks

i think can using example first approach:

groovy -cp mylib/firstclass.groovy mylib/test.groovy 

however see problems in code causing multiplecompliationerrorsexception.

  1. since you're including firstclass.groovy in classpath, you've add import firstclass in test.groovy.

  2. why using script.firstclass in test.groovy? you're class called firstclass.

  3. in firstclass.groovy you're using import org.apache.commons.io.filenameutils , other, you're not including in classpath.

so think that, you've change test.groovy like:

import firstclass firstclass sample = new firstclass("uid", "pwd", "url", "port") sample.getstatus() 

and in command add remaining includes apache commons io classpath.

groovy -cp "mylib/firstclass.groovy;commons-io-2.4.jar;" mylib/testexe.groovy 

hope helps,

update based on op changes:

after changes you've things wrong, try enumerate it:

  1. if file called firstclass.groovy class must class firstclass not class firstclassstart.

  2. in test.groovy use new firstclass not new firstclass.firstclassstart.

so thing is, code must be:

class file firstclass.groovy:

import org.apache.commons.io.filenameutils  class firstclass {     def  wluid,  wlpwd,  wlserver, port     private wlconnection, connectstring, jmxconnector, filpath, filpass, filname, osrpdpath, passphrase     // object constructor    firstclass(wluid, wlpwd, wlserver, port) {                    this.wluid = wluid        this.wlpwd = wlpwd        this.wlserver = wlserver        this.port = port          }     def isfile(filpath) {        // create file object representing folder 'a/b'        def folder = new file(filpath)         if (!org.apache.commons.io.filenameutils.isextension(filpath, "txt")) {            println "bad extension"            return false        } else if (!folder.exists()) {            // create folders up-to , including b            println " path wrong"            return false        } else            println "file found"        return true    } } 

script test.groovy:

import firstclass def sample = new firstclass("weblogic", "admin123", "x.com", "7002") sample.isfile("./firstclass.groovy") 

finally command execute it:

groovy -cp "firstclass.groovy;commons-io-1.3.2.jar" test.groovy 

with changes code must works, try , works expected.


Comments

Popular posts from this blog

android - MPAndroidChart - How to add Annotations or images to the chart -

javascript - Add class to another page attribute using URL id - Jquery -

firefox - Where is 'webgl.osmesalib' parameter? -