| 
	
		|  Autor | Tema: AYUDA! Como importar la libreria Apache Commons cli en el classpath  (Leído 9,246 veces) |  
	| 
			| 
					
						| Juanma91 
								
								 Desconectado 
								Mensajes: 43
								
								
								
								
								
								   | 
 
wenas gente! no consigo importarla.. la cuestión es que quiero en la linea de comandos  ejecutar ...  me salta...  Alquien me podría explicar QUE TENGO QUE HACER PARA IMPLEMENTAR LA LIBRERIA COMMONS CLI BIEN PARA YO PODER EJECUTAR MIS APLICACIONES DESDE DONDE YO QUIERA????C:\Users\Juanma\Desktop>javac aplicacionCLI.javaaplicacionCLI.java:6: error: package org.apache.commons.cli does not exist
 import org.apache.commons.cli.*;
 ...
 8 errors
 
 |  
						| 
								|  |  
								| « Última modificación:  5 Noviembre 2013, 13:22 pm por Juanma91 » |  En línea | 
 
 |  |  |  | 
			| 
					
						| egyware | 
 
C:\Users\User>javacUsage: javac <options> <source files>
 where possible options include:
 -g                         Generate all debugging info
 -g:none                    Generate no debugging info
 -g:{lines,vars,source}     Generate only some debugging info
 -nowarn                    Generate no warnings
 -verbose                   Output messages about what the compiler is doing
 -deprecation               Output source locations where deprecated APIs are u
 sed
 -classpath <path>          Specify where to find user class files and annotati
 on processors
 -cp <path>                 Specify where to find user class files and annotati
 on processors
 -sourcepath <path>         Specify where to find input source files
 -bootclasspath <path>      Override location of bootstrap class files
 -extdirs <dirs>            Override location of installed extensions
 -endorseddirs <dirs>       Override location of endorsed standards path
 -proc:{none,only}          Control whether annotation processing and/or compil
 ation is done.
 -processor <class1>[,<class2>,<class3>...] Names of the annotation processors
 to run; bypasses default discovery process
 -processorpath <path>      Specify where to find annotation processors
 -d <directory>             Specify where to place generated class files
 -s <directory>             Specify where to place generated source files
 -implicit:{none,class}     Specify whether or not to generate class files for
 implicitly referenced files
 -encoding <encoding>       Specify character encoding used by source files
 -source <release>          Provide source compatibility with specified release
 
 -target <release>          Generate class files for specific VM version
 -version                   Version information
 -help                      Print a synopsis of standard options
 -Akey[=value]              Options to pass to annotation processors
 -X                         Print a synopsis of nonstandard options
 -J<flag>                   Pass <flag> directly to the runtime system
 -Werror                    Terminate compilation if warnings occur
 @<filename>                Read options and filenames from file
Ojo con javac compilas... javac *.java -cp path/to/classpath;path/to/library.jar Espero que te sirva. Saludos! 
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| Juanma91 
								
								 Desconectado 
								Mensajes: 43
								
								
								
								
								
								   | 
 
No lo he solucionado.. lo que quiero es añadir commons cli al classpath para que me pueda complicar mi clase utilidadcli.java
 AYUDA!
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  |  |  | 
			| 
					
						| Juanma91 
								
								 Desconectado 
								Mensajes: 43
								
								
								
								
								
								   | 
 
Ok, me compila bien, pero a la hora de usar java TuClaseConCli -cp commons-cli-1.2/commons-cli-1.2.jar [/b] ME DICE QUE NO ENCUENTRA LA CLASE PRINCIPAL...  QUE ASCO JEJEJEJ |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| egyware | 
 
Ojo que el nombre "TuClaseConCli" es solo un ejemplo. Recuerda para ejecutar una clase debes usar "java" y debes indicarle cual es la clase que contiene el metodo main. /* File: TuClase.java */public class TuClase{  //debe tener este metodo, poder invocarlo desde el comando java public static void main(String  args[]) {   //tu codigo...   System.out .println("Tu codigo"); }}
 C:\ java TuClase Saludos! |  
						| 
								|  |  
								| « Última modificación:  5 Noviembre 2013, 17:55 pm por egyware » |  En línea | 
 
 |  |  |  | 
			| 
					
						| Juanma91 
								
								 Desconectado 
								Mensajes: 43
								
								
								
								
								
								   | 
 
El codigo que uso es el siguiente.. javac CalculadoraCLI.java -cp jar/commons-cli-1.2.jar 2) Me genera el .class correctamente 3) ahora...  javac CalculadoraCLI.java -cp jar/commons-cli-1.2.jar4) No se encuentra la clase CalculadoraCLI.java 5) tiene un metodo main 6) no se que hacer ya.. |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| egyware | 
 
Bueno postea tu clase y el código del error completo, para observar el problema.
 
 PS: Ojo!!!! para invocar o ejecutar una clase solo debes hacer "java CalculadoraCLI" sin .java ni .class
 |  
						| 
								|  |  
								| « Última modificación:  5 Noviembre 2013, 18:47 pm por egyware » |  En línea | 
 
 |  |  |  | 
			| 
					
						| Juanma91 
								
								 Desconectado 
								Mensajes: 43
								
								
								
								
								
								   | 
 
C:\Users\Juanma\Desktop>java CalculadoraCLIError: no se ha encontrado o cargado la clase principal CalculadoraCLI
Él codigo es un ejemplo que vi en internet para ver si podia ejecutarlo en la linea de comandos import org.apache.commons.cli.*;  
 import java.io.OutputStream;
 
 /**
 * Ejemplos del uso de la librería "Apache Commons CLI"
 * @author Carlos García. Autentia.
 */
 public class CalculadoraCLI {
 
 /**
 * -ip address [-port puerto]  [err|console] [-help | -h]
 */
 public static void main(String[] args) {
 final int DEF_PORT = 60001;     // Puerto por defecto
 
 int               port    = 0;
 String            ip      = null;
 OutputStream      output  = null;
 CommandLineParser parser  = null;
 CommandLine       cmdLine = null;
 
 ///////////////////////////////////////////////////////////////////////
 // Fase 1: Configuramos las opciones de validación de entrada.
 ///////////////////////////////////////////////////////////////////////
 
 Options options = new Options();
 options.addOption("ip",     true,  "IP de destino");
 options.addOption("port",   true,  "Puerto destino");
 options.addOption("h",      "help", false, "Imprime el mensaje de ayuda");
 
 // No pueden aparecen las dos opciones simultáneamente.
 OptionGroup group =  new OptionGroup();
 group.addOption(new Option("err",     "Salida estándar de errores"));
 group.addOption(new Option("console", "Salida estándar"));
 options.addOptionGroup(group);
 
 
 try {
 
 ///////////////////////////////////////////////////////////////////////
 // Fase 2: Parseamos la entrada con la configuración establecida
 ///////////////////////////////////////////////////////////////////////
 
 parser  = new BasicParser();
 cmdLine = parser.parse(options, args);
 
 ///////////////////////////////////////////////////////////////////////
 // Fase 3: Analizamos los resultados y realizamos las tareas pertinentes
 ///////////////////////////////////////////////////////////////////////
 
 // Si está la opcion de ayuda, la imprimimos y salimos.
 if (cmdLine.hasOption("h")){    // No hace falta preguntar por el parámetro "help". Ambos son sinónimos
 new HelpFormatter().printHelp(CalculadoraCLI.class.getCanonicalName(), options );
 return;
 }
 
 // Si el usuario ha especificado el puerto lo leemos
 if (cmdLine.hasOption("port")){
 port = Integer.parseInt( cmdLine.getOptionValue("port") );
 } else {
 port = DEF_PORT;
 }
 
 // Leemos la dirección IP. Sino existe generamos un error pues es un parámetro requerido.
 ip =  cmdLine.getOptionValue("ip");
 if (ip == null){
 throw new org.apache.commons.cli.ParseException("La direccion IP es requerida");
 }
 
 if (cmdLine.hasOption("console")){
 output = System.out;
 } else if (cmdLine.hasOption("err")){
 output = System.err;
 } else {
 output = null;
 }
 
 // ..............................................................
 // Aquí irían las tareas que tuviera que realizar la aplicación
 // ..............................................................
 
 System.out.println("OK");
 
 } catch (org.apache.commons.cli.ParseException ex){
 System.out.println(ex.getMessage());
 
 new HelpFormatter().printHelp(CalculadoraCLI.class.getCanonicalName(), options );    // Error, imprimimos la ayuda
 } catch (java.lang.NumberFormatException ex){
 new HelpFormatter().printHelp(CalculadoraCLI.class.getCanonicalName(), options );    // Error, imprimimos la ayuda
 }
 }
 }
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| Juanma91 
								
								 Desconectado 
								Mensajes: 43
								
								
								
								
								
								   | 
 
¿ Puede ser por mis variables Path y classpath? he creado uno con un main de imprima hola y ese si me deja , pero... C:\Users\Juanma\Desktop>java holitahola
 
 C:\Users\Juanma\Desktop>java CalculadoraCLI -cp jar/commons-cli-1.2.jar
 Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/cl
 i/ParseException
 at java.lang.Class.getDeclaredMethods0(Native Method)
 at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
 at java.lang.Class.getMethod0(Unknown Source)
 at java.lang.Class.getMethod(Unknown Source)
 at sun.launcher.LauncherHelper.getMainMethod(Unknown Source)
 at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
 Caused by: java.lang.ClassNotFoundException: org.apache.commons.cli.ParseExcepti
 on
 at java.net.URLClassLoader$1.run(Unknown Source)
 at java.net.URLClassLoader$1.run(Unknown Source)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(Unknown Source)
 at java.lang.ClassLoader.loadClass(Unknown Source)
 at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
 at java.lang.ClassLoader.loadClass(Unknown Source)
 ... 6 more
 
 C:\Users\Juanma\Desktop>
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  |  |  
 
	
 
 
				
					
						| Mensajes similares |  
						|  | Asunto | Iniciado por | Respuestas | Vistas | Último mensaje |  
						|   |   | Error en org.apache.commons.lang.enums al programar en Android Java
 | P4nd3m0n1um | 0 | 1,446 |  26 Noviembre 2012, 21:45 pm por P4nd3m0n1um
 |  
						|   |   | Duda Apache Commons CLI Java
 | Juanma91 | 1 | 1,822 |  8 Noviembre 2013, 15:16 pm por ThinkByYourself
 |  
						|   |   | importar libreria de java Java
 | mgc | 6 | 3,896 |  22 Noviembre 2013, 02:04 am por Xorcked
 |  
						|   |   | AYUDA PARA IMPORTAR CASO 3D AL PROGRAMA Ingeniería Inversa
 | juangimu | 0 | 2,234 |  31 Octubre 2014, 12:48 pm por juangimu
 |  
						|   |   | Como Importar modulo/librería zip_file en Android Studio Java
 | MaX2 | 2 | 8,514 |  19 Abril 2023, 21:34 pm por MaX2
 |    |