2009-10-01 9 views
16

Estoy usando Windows y tengo un archivo por lotes (contenido adjunto a continuación) donde estoy compilando un classpath antes de intentar ejecutar una clase Java. Lamentablemente, el classpath es bastante grande y el archivo termina siendo ~ 14kb. Cuando lo ejecuto obtengo un error de 'línea de entrada demasiado larga'. He leído en otro lugar que el máximo. el tamaño para una variable env es 8kb, pero parece poco probable que pueda reducir el tamaño de mi classpath para que se ajuste a eso. ¿Hay algo más que pueda hacer para que esto se ejecute?Problema al ejecutar el archivo .bat en Windows debido a que "la línea de entrada es demasiado larga"

gracias, Nick


echo off 
subst z: C:\Users\ned24\.m2\repository 
set CLASSPATH=c:\workspace-eclipse\lensfield-pom\lensfield-build\target\classes;%CLASSPATH% 
set CLASSPATH=z:\wwmm\atom-archiver\0.1\atom-archiver-0.1.jar;%CLASSPATH% 
set CLASSPATH=z:\commons-lang\commons-lang\2.4\commons-lang-2.4.jar;%CLASSPATH% 
set CLASSPATH=z:\commons-io\commons-io\1.4\commons-io-1.4.jar;%CLASSPATH% 
set CLASSPATH=z:\org\freemarker\freemarker\2.3.9\freemarker-2.3.9.jar;%CLASSPATH% 
set CLASSPATH=z:\log4j\log4j\1.2.13\log4j-1.2.13.jar;%CLASSPATH% 
set CLASSPATH=z:\xom\xom\1.1\xom-1.1.jar;%CLASSPATH% 
set CLASSPATH=z:\xerces\xmlParserAPIs\2.6.2\xmlParserAPIs-2.6.2.jar;%CLASSPATH% 
set CLASSPATH=z:\xerces\xercesImpl\2.6.2\xercesImpl-2.6.2.jar;%CLASSPATH% 
set CLASSPATH=z:\xalan\xalan\2.7.0\xalan-2.7.0.jar;%CLASSPATH% 
set CLASSPATH=z:\xml-apis\xml-apis\1.0.b2\xml-apis-1.0.b2.jar;%CLASSPATH% 
set CLASSPATH=z:\jaxen\jaxen\1.1-beta-8\jaxen-1.1-beta-8.jar;%CLASSPATH% 
set CLASSPATH=z:\dom4j\dom4j\1.6.1\dom4j-1.6.1.jar;%CLASSPATH% 
set CLASSPATH=z:\jdom\jdom\1.0\jdom-1.0.jar;%CLASSPATH% 
set CLASSPATH=z:\cdk\cdk-pure\1.2.1\cdk-pure-1.2.1.jar;%CLASSPATH% 
set CLASSPATH=z:\cml\cifxml\1.4-SNAPSHOT\cifxml-1.4-SNAPSHOT.jar;%CLASSPATH% 
set CLASSPATH=z:\jgrapht\jgrapht\0.6.0\jgrapht-0.6.0.jar;%CLASSPATH% 
set CLASSPATH=z:\cml\jumbo-converters\0.2-SNAPSHOT\jumbo-converters-0.2-SNAPSHOT.jar;%CLASSPATH% 
set CLASSPATH=z:\cml\jumbo\5.5.1-SNAPSHOT\jumbo-5.5.1-SNAPSHOT.jar;%CLASSPATH% 
set CLASSPATH=z:\cml\cmlxom\2.5.1-SNAPSHOT\cmlxom-2.5.1-SNAPSHOT.jar;%CLASSPATH% 
set CLASSPATH=z:\junit\junit\3.8\junit-3.8.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\commons\commons-cli\2.0-SNAPSHOT\commons-cli-2.0-SNAPSHOT.jar;%CLASSPATH% 
set CLASSPATH=z:\cml\jumbo-units\0.2-SNAPSHOT\jumbo-units-0.2-SNAPSHOT.jar;%CLASSPATH% 
set CLASSPATH=z:\org\lensfield\lensfield-share\0.1-SNAPSHOT\lensfield-share-0.1-SNAPSHOT.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\maven\maven-embedder\3.0-alpha-2\maven-embedder-3.0-alpha-2.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\maven\maven-core\3.0-alpha-2\maven-core-3.0-alpha-2.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\maven\maven-lifecycle\3.0-alpha-2\maven-lifecycle-3.0-alpha-2.jar;%CLASSPATH% 
set CLASSPATH=z:\org\codehaus\plexus\plexus-utils\1.5.6\plexus-utils-1.5.6.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\maven\maven-reporting-api\3.0-alpha-2\maven-reporting-api-3.0-alpha-2.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\maven\doxia\doxia-sink-api\1.0-alpha-9\doxia-sink-api-1.0-alpha-9.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\maven\maven-model\3.0-alpha-2\maven-model-3.0-alpha-2.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\maven\maven-compat\3.0-alpha-2\maven-compat-3.0-alpha-2.jar;%CLASSPATH% 
set CLASSPATH=z:\org\codehaus\plexus\plexus-container-default\1.0-beta-3.0.5\plexus-container-default-1.0-beta-3.0.5.jar;%CLASSPATH% 
set CLASSPATH=z:\org\codehaus\plexus\plexus-classworlds\1.3\plexus-classworlds-1.3.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\xbean\xbean-reflect\3.4\xbean-reflect-3.4.jar;%CLASSPATH% 
set CLASSPATH=z:\commons-logging\commons-logging-api\1.1\commons-logging-api-1.1.jar;%CLASSPATH% 
set CLASSPATH=z:\com\google\code\google-collections\google-collect\snapshot-20080530\google-collect-snapshot-20080530.jar;%CLASSPATH% 
set CLASSPATH=z:\org\codehaus\plexus\plexus-component-annotations\1.0-beta-3.0.5\plexus-component-annotations-1.0-beta-3.0.5.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\maven\wagon\wagon-provider-api\1.0-beta-4\wagon-provider-api-1.0-beta-4.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\maven\maven-plugin-api\3.0-alpha-2\maven-plugin-api-3.0-alpha-2.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\maven\maven-project\3.0-alpha-2\maven-project-3.0-alpha-2.jar;%CLASSPATH% 
set CLASSPATH=z:\org\codehaus\plexus\plexus-interpolation\1.1\plexus-interpolation-1.1.jar;%CLASSPATH% 
set CLASSPATH=z:\org\codehaus\woodstox\wstx-asl\3.2.6\wstx-asl-3.2.6.jar;%CLASSPATH% 
set CLASSPATH=z:\stax\stax-api\1.0\stax-api-1.0.jar;%CLASSPATH% 
set CLASSPATH=z:\org\sonatype\spice\model-builder\1.3\model-builder-1.3.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\maven\maven-project-builder\3.0-alpha-2\maven-project-builder-3.0-alpha-2.jar;%CLASSPATH% 
set CLASSPATH=z:\commons-cli\commons-cli\1.0\commons-cli-1.0.jar;%CLASSPATH% 
set CLASSPATH=z:\org\codehaus\plexus\plexus-interactivity-api\1.0-alpha-6\plexus-interactivity-api-1.0-alpha-6.jar;%CLASSPATH% 
set CLASSPATH=z:\org\sonatype\plexus\plexus-plugin-manager\1.0-alpha-1\plexus-plugin-manager-1.0-alpha-1.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\maven\mercury\mercury-plexus\1.0.0-alpha-2\mercury-plexus-1.0.0-alpha-2.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\maven\mercury\mercury-repo-remote-m2\1.0.0-alpha-2\mercury-repo-remote-m2-1.0.0-alpha-2.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\maven\mercury\mercury-repo-api\1.0.0-alpha-2\mercury-repo-api-1.0.0-alpha-2.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\maven\mercury\mercury-artifact\1.0.0-alpha-2\mercury-artifact-1.0.0-alpha-2.jar;%CLASSPATH% 
set CLASSPATH=z:\org\codehaus\plexus\plexus-lang\1.1\plexus-lang-1.1.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\maven\mercury\mercury-transport-api\1.0.0-alpha-2\mercury-transport-api-1.0.0-alpha-2.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\maven\mercury\mercury-crypto-api\1.0.0-alpha-2\mercury-crypto-api-1.0.0-alpha-2.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\maven\mercury\mercury-logging\1.0.0-alpha-2\mercury-logging-1.0.0-alpha-2.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\maven\mercury\mercury-external\1.0.0-alpha-2\mercury-external-1.0.0-alpha-2.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\maven\mercury\mercury-event\1.0.0-alpha-2\mercury-event-1.0.0-alpha-2.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\maven\mercury\mercury-md-shared\1.0.0-alpha-2\mercury-md-shared-1.0.0-alpha-2.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\maven\mercury\mercury-util\1.0.0-alpha-2\mercury-util-1.0.0-alpha-2.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\maven\mercury\mercury-crypto-basic\1.0.0-alpha-2\mercury-crypto-basic-1.0.0-alpha-2.jar;%CLASSPATH% 
set CLASSPATH=z:\bouncycastle\bcprov-jdk15\140\bcprov-jdk15-140.jar;%CLASSPATH% 
set CLASSPATH=z:\bouncycastle\bcpg-jdk15\140\bcpg-jdk15-140.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\maven\mercury\mercury-transport-http\1.0.0-alpha-2\mercury-transport-http-1.0.0-alpha-2.jar;%CLASSPATH% 
set CLASSPATH=z:\org\mortbay\jetty\jetty-client\6.1.12\jetty-client-6.1.12.jar;%CLASSPATH% 
set CLASSPATH=z:\org\mortbay\jetty\jetty-sslengine\6.1.12\jetty-sslengine-6.1.12.jar;%CLASSPATH% 
set CLASSPATH=z:\org\mortbay\jetty\jetty\6.1.12\jetty-6.1.12.jar;%CLASSPATH% 
set CLASSPATH=z:\org\mortbay\jetty\jetty-util\6.1.12\jetty-util-6.1.12.jar;%CLASSPATH% 
set CLASSPATH=z:\org\mortbay\jetty\servlet-api-2.5\6.1.12\servlet-api-2.5-6.1.12.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\maven\mercury\mercury-repo-local-m2\1.0.0-alpha-2\mercury-repo-local-m2-1.0.0-alpha-2.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\maven\mercury\mercury-repo-virtual\1.0.0-alpha-2\mercury-repo-virtual-1.0.0-alpha-2.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\maven\mercury\mercury-repo-cache-fs\1.0.0-alpha-2\mercury-repo-cache-fs-1.0.0-alpha-2.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\maven\mercury\mercury-md-sat\1.0.0-alpha-2\mercury-md-sat-1.0.0-alpha-2.jar;%CLASSPATH% 
set CLASSPATH=z:\org\sat4j\org.sat4j.core\2.0.4\org.sat4j.core-2.0.4.jar;%CLASSPATH% 
set CLASSPATH=z:\org\sat4j\org.sat4j.pb\2.0.4\org.sat4j.pb-2.0.4.jar;%CLASSPATH% 
set CLASSPATH=z:\org\slf4j\slf4j-jdk14\1.5.3\slf4j-jdk14-1.5.3.jar;%CLASSPATH% 
set CLASSPATH=z:\org\slf4j\slf4j-api\1.5.0\slf4j-api-1.5.0.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\maven\maven-mercury\3.0-alpha-2\maven-mercury-3.0-alpha-2.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\maven\maven-toolchain\3.0-alpha-2\maven-toolchain-3.0-alpha-2.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\maven\wagon\wagon-http-lightweight\1.0-beta-4\wagon-http-lightweight-1.0-beta-4.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\maven\wagon\wagon-http-shared\1.0-beta-4\wagon-http-shared-1.0-beta-4.jar;%CLASSPATH% 
set CLASSPATH=z:\nekohtml\xercesMinimal\1.9.6.2\xercesMinimal-1.9.6.2.jar;%CLASSPATH% 
set CLASSPATH=z:\nekohtml\nekohtml\1.9.6.2\nekohtml-1.9.6.2.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\maven\wagon\wagon-ssh\1.0-beta-4\wagon-ssh-1.0-beta-4.jar;%CLASSPATH% 
set CLASSPATH=z:\com\jcraft\jsch\0.1.38\jsch-0.1.38.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\maven\wagon\wagon-ssh-common\1.0-beta-4\wagon-ssh-common-1.0-beta-4.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\maven\wagon\wagon-ssh-external\1.0-beta-4\wagon-ssh-external-1.0-beta-4.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\maven\wagon\wagon-file\1.0-beta-4\wagon-file-1.0-beta-4.jar;%CLASSPATH% 
set CLASSPATH=z:\org\openrdf\sesame\sesame-repository-api\2.2.4\sesame-repository-api-2.2.4.jar;%CLASSPATH% 
set CLASSPATH=z:\org\openrdf\sesame\sesame-query\2.2.4\sesame-query-2.2.4.jar;%CLASSPATH% 
set CLASSPATH=z:\org\openrdf\sesame\sesame-model\2.2.4\sesame-model-2.2.4.jar;%CLASSPATH% 
set CLASSPATH=z:\info\aduna\commons\aduna-commons-collections\2.3\aduna-commons-collections-2.3.jar;%CLASSPATH% 
set CLASSPATH=z:\info\aduna\commons\aduna-commons-concurrent\2.2\aduna-commons-concurrent-2.2.jar;%CLASSPATH% 
set CLASSPATH=z:\info\aduna\commons\aduna-commons-iteration\2.3\aduna-commons-iteration-2.3.jar;%CLASSPATH% 
set CLASSPATH=z:\info\aduna\commons\aduna-commons-i18n\1.0\aduna-commons-i18n-1.0.jar;%CLASSPATH% 
set CLASSPATH=z:\org\openrdf\sesame\sesame-rio-api\2.2.4\sesame-rio-api-2.2.4.jar;%CLASSPATH% 
set CLASSPATH=z:\info\aduna\commons\aduna-commons-lang\2.3\aduna-commons-lang-2.3.jar;%CLASSPATH% 
set CLASSPATH=z:\info\aduna\commons\aduna-commons-net\2.2\aduna-commons-net-2.2.jar;%CLASSPATH% 
set CLASSPATH=z:\info\aduna\commons\aduna-commons-text\2.2\aduna-commons-text-2.2.jar;%CLASSPATH% 
set CLASSPATH=z:\info\aduna\commons\aduna-commons-io\2.4\aduna-commons-io-2.4.jar;%CLASSPATH% 
set CLASSPATH=z:\org\openrdf\sesame\sesame-queryresultio-api\2.2.4\sesame-queryresultio-api-2.2.4.jar;%CLASSPATH% 
set CLASSPATH=z:\org\openrdf\sesame\sesame-queryparser-sparql\2.2.4\sesame-queryparser-sparql-2.2.4.jar;%CLASSPATH% 
set CLASSPATH=z:\org\openrdf\sesame\sesame-queryparser-api\2.2.4\sesame-queryparser-api-2.2.4.jar;%CLASSPATH% 
set CLASSPATH=z:\org\openrdf\sesame\sesame-queryalgebra-model\2.2.4\sesame-queryalgebra-model-2.2.4.jar;%CLASSPATH% 
set CLASSPATH=z:\org\openrdf\sesame\sesame-repository-sail\2.2.4\sesame-repository-sail-2.2.4.jar;%CLASSPATH% 
set CLASSPATH=z:\org\openrdf\sesame\sesame-sail-api\2.2.4\sesame-sail-api-2.2.4.jar;%CLASSPATH% 
set CLASSPATH=z:\org\openrdf\sesame\sesame-sail-nativerdf\2.2.4\sesame-sail-nativerdf-2.2.4.jar;%CLASSPATH% 
set CLASSPATH=z:\org\openrdf\sesame\sesame-sail-inferencer\2.2.4\sesame-sail-inferencer-2.2.4.jar;%CLASSPATH% 
set CLASSPATH=z:\org\openrdf\sesame\sesame-queryparser-serql\2.2.4\sesame-queryparser-serql-2.2.4.jar;%CLASSPATH% 
set CLASSPATH=z:\org\openrdf\sesame\sesame-queryalgebra-evaluation\2.2.4\sesame-queryalgebra-evaluation-2.2.4.jar;%CLASSPATH% 
set CLASSPATH=z:\org\openrdf\sesame\sesame-queryresultio-sparqlxml\2.2.4\sesame-queryresultio-sparqlxml-2.2.4.jar;%CLASSPATH% 
set CLASSPATH=z:\info\aduna\commons\aduna-commons-xml\2.2\aduna-commons-xml-2.2.jar;%CLASSPATH% 
set CLASSPATH=z:\org\openrdf\sesame\sesame-rio-rdfxml\2.2.4\sesame-rio-rdfxml-2.2.4.jar;%CLASSPATH% 
set CLASSPATH=z:\org\openrdf\sesame\sesame-rio-turtle\2.2.4\sesame-rio-turtle-2.2.4.jar;%CLASSPATH% 
set CLASSPATH=z:\net\sourceforge\jena\jena\2.4\jena-2.4.jar;%CLASSPATH% 
set CLASSPATH=z:\antlr\antlr\2.7.5\antlr-2.7.5.jar;%CLASSPATH% 
set CLASSPATH=z:\net\sourceforge\jena\arq\1.4\arq-1.4.jar;%CLASSPATH% 
set CLASSPATH=z:\net\sourceforge\jena\iri\1.0\iri-1.0.jar;%CLASSPATH% 
set CLASSPATH=z:\commons-logging\commons-logging\1.1\commons-logging-1.1.jar;%CLASSPATH% 
set CLASSPATH=z:\logkit\logkit\1.0.1\logkit-1.0.1.jar;%CLASSPATH% 
set CLASSPATH=z:\avalon-framework\avalon-framework\4.1.3\avalon-framework-4.1.3.jar;%CLASSPATH% 
set CLASSPATH=z:\javax\servlet\servlet-api\2.3\servlet-api-2.3.jar;%CLASSPATH% 
set CLASSPATH=z:\concurrent\concurrent\1.3.4\concurrent-1.3.4.jar;%CLASSPATH% 
set CLASSPATH=z:\icu4j\icu4j\3.4\icu4j-3.4.jar;%CLASSPATH% 
set CLASSPATH=z:\org\json\json\1.0\json-1.0.jar;%CLASSPATH% 
set CLASSPATH=z:\woodstox\wstx-asl\2.8\wstx-asl-2.8.jar;%CLASSPATH% 
set CLASSPATH=z:\owlapi\owlapi\2.2.0\owlapi-2.2.0.jar;%CLASSPATH% 
set CLASSPATH=z:\org\slf4j\slf4j-log4j12\1.4.2\slf4j-log4j12-1.4.2.jar;%CLASSPATH% 
set CLASSPATH=z:\org\clojure\clojure-lang\1.1.0-alpha-SNAPSHOT\clojure-lang-1.1.0-alpha-SNAPSHOT.jar;%CLASSPATH% 
set CLASSPATH=z:\org\clojure\clojure-contrib\1.0-SNAPSHOT\clojure-contrib-1.0-SNAPSHOT.jar;%CLASSPATH% 
set CLASSPATH=z:\wwmm\pub-crawler\0.1\pub-crawler-0.1.jar;%CLASSPATH% 
set CLASSPATH=z:\commons-httpclient\commons-httpclient\3.1\commons-httpclient-3.1.jar;%CLASSPATH% 
set CLASSPATH=z:\commons-codec\commons-codec\1.2\commons-codec-1.2.jar;%CLASSPATH% 
set CLASSPATH=z:\org\dspace\foresite\SNAPSHOT\foresite-SNAPSHOT.jar;%CLASSPATH% 
set CLASSPATH=z:\com\hp\hpl\jena\jena\2.5.5\jena-2.5.5.jar;%CLASSPATH% 
set CLASSPATH=z:\com\hp\hpl\jena\arq\2.2\arq-2.2.jar;%CLASSPATH% 
set CLASSPATH=z:\org\apache\lucene\lucene-core\2.2.0\lucene-core-2.2.0.jar;%CLASSPATH% 
set CLASSPATH=z:\com\hp\hpl\jena\arq-extra\2.2\arq-extra-2.2.jar;%CLASSPATH% 
set CLASSPATH=z:\com\hp\hpl\jena\jenatest\2.5.5\jenatest-2.5.5.jar;%CLASSPATH% 
set CLASSPATH=z:\com\hp\hpl\jena\iri\0.5\iri-0.5.jar;%CLASSPATH% 
set CLASSPATH=z:\com\ibm\icu\icu4j\3.4.4\icu4j-3.4.4.jar;%CLASSPATH% 
set CLASSPATH=z:\com\hp\hpl\jena\concurrent-jena\1.3.2\concurrent-jena-1.3.2.jar;%CLASSPATH% 
set CLASSPATH=z:\com\hp\hpl\jena\json-jena\1.0\json-jena-1.0.jar;%CLASSPATH% 
set CLASSPATH=z:\rome\rome\0.9\rome-0.9.jar;%CLASSPATH% 
set CLASSPATH=z:\org\ccil\cowan\tagsoup\tagsoup\1.0.1\tagsoup-1.0.1.jar;%CLASSPATH% 
set CLASSPATH=z:\javax\vecmath\1.2\vecmath-1.2.jar;%CLASSPATH% 

java clojure.main "%LENSFIELD_HOME%\lensfield-build\src\main\clj\lensfield\cli.clj" %* 
+0

Parece que la unidad z es la raíz de un repositorio de Maven.¿Hay alguna razón por la que no esté usando ant + Ivy o Maven para ejecutar esto o para empaquetar las dependencias en un directorio "lib"? –

Respuesta

10

Si está utilizando Java 6, se puede utilizar un comodín en la ruta de clase, por ejemplo:

java -cp libs/* com.mypackage.MyProgram 

Ver the documentation (vaya a "comodines de ruta de clase entendimiento") para más detalles.

Nota: Esto no funciona en versiones anteriores de Java.

+0

¡Esto es nuevo para mí y he estado usando 6 durante 18 meses! Bueno saber. – SteveD

+0

¿cómo conseguirías Ant para recuperar la cadena "libs/*" desde el objeto ..? – dm76

2

El tamaño máximo de una variable de entorno es de alrededor de 32.760 caracteres. Sin embargo, el tamaño máximo para una sola línea de comando en cmd (y por lo tanto en archivos por lotes) es 8190 caracteres.

Dado que está construyendo una variable muy larga CLASSPATH aquí, se encuentra con esa limitación, aunque la variable de entorno en cuestión aún puede ser mucho más larga. La expansión retrasada probablemente no ayude aquí, ya que aún resulta en una larga línea de comando difícil de manejar.

Actualmente veo dos opciones:

  • uso de VBScript en lugar de un archivo por lotes. Supongo que que admite líneas más largas que eso. Además, no está obligado a escribir todo el classpath en una sola línea de código; puede estar fácilmente en una cuerda.
  • Use setx, incluido con Windows Vista o posterior, o en el kit de recursos de Windows anterior. setx le permite leer desde un archivo, pero también escribe directamente en el registro, por lo que es esencialmente equivalente a establecer la ruta de clase en el entorno de su usuario (en lugar de solo para un solo proceso).

estoy seguro, pero en ninguna parte que no hereda el legado de código base cmd lo que podría ser una suposición razonable.

0

¿Por qué estás buscando la ruta de la clase java? Si sabe dónde está la clase, simplemente llame a esa clase por el nombre de la ruta directa, no por su nombre de archivo.

2

Es posible que pueda refactorizar definiendo más letras de unidad, es decir, si tuviera W: apunte a "z: \ org \ apache \ maven \" que debería recortar algunos caracteres. Repita eso un par de veces, y puede estar lo suficientemente bajo para que funcione.

0

¿Alguno de esos frascos se preocupa por dónde viven? ¿Podría simplemente hacer que el archivo por lotes los copie a todos en un directorio localjar, y luego simplemente podría listarlos?

Puede usar xcopy /d/y, que solo copia si el archivo ha cambiado.

1

En lugar del comando subst, puede tratar de crear enlaces simbólicos cortos a todos los directorios donde residen sus JAR. Utilice la herramienta gratuita junction de Windows Sysinternals Suite para lograr esto.

[...]

Usando Junction

Uso de unión a la lista uniones:

Uso: [-s]

-s subdirectorios Recurse

Ejemplos:

para determinar si un archivo es un cruce, especifique el nombre del archivo:

junction c:\test

Para una lista de los cruces por debajo de un directorio, incluye el modificador -s:

junction -s c:\

Para crear una unión c: \ Program Files para "c: \ Archivos de programa ":

C:\>md Program-Files

C:\>junction c:\Program-Files "c:\Program Files"

Para eliminar un cruce, utilizar el interruptor de -d:

junction -d c:\Program-Files

0

Otra opción si está ejecutando Vista y Java 6 es hacer un directorio con enlaces simbólicos utilizando el comando MKLINK para que todos los frascos aparezcan en un directorio, y luego use la capacidad de java 6 para hacer referencia a todos los frascos con un * .jar.

Creo que las otras respuestas agotan las opciones de Windows, pero otra opción es crear un contenedor contenedor que invoque clojure.main y ponga todos estos archivos jar en su classpath.

1

No estoy completamente al tanto de las especificaciones de Windows, pero dado que tiene un problema de línea de comando y no un problema de tamaño variable, ¿no puede definir variables y usarlas? Por ejemplo:

 
    set PLEXHOME=z:\org\codehaus\plexus\plexus-component-annotations\1.0-beta-3.0.5\plexus-component-annotations-1.0-beta-3.0.5.jar 
    set CLASSPATH=%PLEXHOME%;%CLASSPATH% 
    set WAGONHOME=z:\org\apache\maven\wagon\wagon-provider-api\1.0-beta-4\wagon-provider-api-1.0-beta-4.jar 
    set CLASSPATH=%WAGONHOME%;%CLASSPATH% 
    set MAVENAPIHOME=z:\org\apache\maven\maven-plugin-api\3.0-alpha-2\maven-plugin-api-3.0-alpha-2.jar 
    set CLASSPATH=%MAVENAPIHOME%;%CLASSPATH% 
    ... 
0

El problema se encuentra en la primera CLASSPATH set = ....;% CLASSPATH% simplemente eliminar el% CLASSPATH% al final. El error no es descriptivo, pero se debe a que% CLASSPATH% no tiene valor.

0

Para mí, no hubo solución al problema que no sea de alguna manera hacer el classpath más corto al mover los archivos jar a una carpeta como "C: \ jar".

Cuestiones relacionadas