Ho uno script groovy Automate.groovy
. Lo script non ha una definizione di classe o un metodo principale. Sto cercando il modo più semplice per creare un jar contenente lo script. Ho provato a compilare lo script Groovy utilizzando il seguente comando:Creazione di un jar eseguibile con script groove
groovyc Automate.groovy
Ho anche un manifesto-addition.txt Manifest file che specifica la classe principale
Main-Class: Automate
e ho creato il barattolo con il comando:
jar cvfm Automate.jar mainfest-addition.txt *.class
questo mi ha dato un vaso con Automate.class e automatizzare $ 1.class e un file manifesto con la classe principale. Ma quando ho cercato di correre il vaso utilizzando java -jar Automate.jar
ottengo sempre l'errore
cannot find or load main class Automate.
Che cosa sto facendo male qui?
Ci dovrebbe essere un modo semplice come questo per creare il barattolo. Ho solo questo file di script che voglio nel mio barattolo e non voglio usare maven/ant/gradle per fare questo lavoro. Non c'è un modo semplice e diretto per fare questo?
Perché è una soluzione migliore includere il jar groovy-all all'interno di Automate.jar? – RaGe
In realtà ho provato ad includere jar groovy-all in classpath usando java -cp groovy-all.jar Automate.jar. Anche allora ho avuto lo stesso errore. In realtà avevo un'annotazione @Grab e questo è ciò che stava effettivamente causando il problema. Quando l'ho rimosso, è stato in grado di individuare la classe principale – Harini