elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  AYUDA! Como importar la libreria Apache Commons cli en el classpath
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: AYUDA! Como importar la libreria Apache Commons cli en el classpath  (Leído 8,380 veces)
Juanma91

Desconectado Desconectado

Mensajes: 43


Ver Perfil
AYUDA! Como importar la libreria Apache Commons cli en el classpath
« en: 5 Noviembre 2013, 01:34 am »

wenas gente! no consigo importarla.. la cuestión es que quiero en la linea de comandos ejecutar ...

Código:
javac aplicacionCLI

me salta...
Código:
C:\Users\Juanma\Desktop>javac aplicacionCLI.java
aplicacionCLI.java:6: error: package org.apache.commons.cli does not exist
import org.apache.commons.cli.*;
...
8 errors

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????


« Última modificación: 5 Noviembre 2013, 13:22 pm por Juanma91 » En línea

egyware


Desconectado Desconectado

Mensajes: 526



Ver Perfil WWW
Re: Como importar la libreria Apache Commons cli en el classpath
« Respuesta #1 en: 5 Noviembre 2013, 03:17 am »

Código:
C:\Users\User>javac
Usage: 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 Desconectado

Mensajes: 43


Ver Perfil
Re: Como importar la libreria Apache Commons cli en el classpath
« Respuesta #2 en: 5 Noviembre 2013, 13:20 pm »

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

egyware


Desconectado Desconectado

Mensajes: 526



Ver Perfil WWW
Re: AYUDA! Como importar la libreria Apache Commons cli en el classpath
« Respuesta #3 en: 5 Noviembre 2013, 13:31 pm »

Bueno... primero que nada debes tener commons cli descargado, no crees?
http://commons.apache.org/proper/commons-cli/
http://commons.apache.org/proper/commons-cli/download_cli.cgi

y luego para compilar debes hacer esto.

javac TuClaseConCli.java -cp commons-cli-1.2/commons-cli-1.2.jar

y luego para ejecutar haces lo mismo
java TuClaseConCli -cp commons-cli-1.2/commons-cli-1.2.jar

¿Te sirve?
En línea

Juanma91

Desconectado Desconectado

Mensajes: 43


Ver Perfil
Re: AYUDA! Como importar la libreria Apache Commons cli en el classpath
« Respuesta #4 en: 5 Noviembre 2013, 16:57 pm »

Ok, me compila bien, pero a la hora de usar
Código:
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


Desconectado Desconectado

Mensajes: 526



Ver Perfil WWW
Re: AYUDA! Como importar la libreria Apache Commons cli en el classpath
« Respuesta #5 en: 5 Noviembre 2013, 17:53 pm »

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.

Código
  1. /* File: TuClase.java */
  2. public class TuClase
  3. {
  4.  //debe tener este metodo, poder invocarlo desde el comando java
  5. public static void main(String args[])
  6. {
  7.   //tu codigo...
  8.   System.out.println("Tu codigo");
  9. }
  10. }

C:\ java TuClase

Saludos!
« Última modificación: 5 Noviembre 2013, 17:55 pm por egyware » En línea

Juanma91

Desconectado Desconectado

Mensajes: 43


Ver Perfil
Re: AYUDA! Como importar la libreria Apache Commons cli en el classpath
« Respuesta #6 en: 5 Noviembre 2013, 18:41 pm »

El codigo que uso es el siguiente..

Código:
javac CalculadoraCLI.java -cp jar/commons-cli-1.2.jar 

2) Me genera el .class correctamente

3) ahora...
Código:
 javac CalculadoraCLI.java -cp jar/commons-cli-1.2.jar

4) No se encuentra la clase CalculadoraCLI.java

5) tiene un metodo main

6) no se que hacer ya..
En línea

egyware


Desconectado Desconectado

Mensajes: 526



Ver Perfil WWW
Re: AYUDA! Como importar la libreria Apache Commons cli en el classpath
« Respuesta #7 en: 5 Noviembre 2013, 18:46 pm »

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 Desconectado

Mensajes: 43


Ver Perfil
Re: AYUDA! Como importar la libreria Apache Commons cli en el classpath
« Respuesta #8 en: 5 Noviembre 2013, 18:53 pm »

Código:
C:\Users\Juanma\Desktop>java CalculadoraCLI
Error: 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

Código:
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 Desconectado

Mensajes: 43


Ver Perfil
Re: AYUDA! Como importar la libreria Apache Commons cli en el classpath
« Respuesta #9 en: 5 Noviembre 2013, 19:06 pm »

¿ Puede ser por mis variables Path y classpath?

he creado uno con un main de imprima hola y ese si me deja , pero...


Código:
C:\Users\Juanma\Desktop>java holita
hola

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

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Error en org.apache.commons.lang.enums al programar en Android
Java
P4nd3m0n1um 0 1,350 Último mensaje 26 Noviembre 2012, 21:45 pm
por P4nd3m0n1um
Duda Apache Commons CLI
Java
Juanma91 1 1,642 Último mensaje 8 Noviembre 2013, 15:16 pm
por ThinkByYourself
importar libreria de java
Java
mgc 6 3,591 Último mensaje 22 Noviembre 2013, 02:04 am
por Xorcked
AYUDA PARA IMPORTAR CASO 3D AL PROGRAMA
Ingeniería Inversa
juangimu 0 1,962 Último mensaje 31 Octubre 2014, 12:48 pm
por juangimu
Como Importar modulo/librería zip_file en Android Studio
Java
MaX2 2 6,880 Último mensaje 19 Abril 2023, 21:34 pm
por MaX2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines