Java - Compilar un archivo .java y un .jar juntos Javamail

   
Vista:

Compilar un archivo .java y un .jar juntos Javamail

Publicado por carlos alberto (1 intervención) el 18/08/2016 17:11:38
Hola buen día amigos programadores mi problema es el siguiente

Tengo un archivo Principal que tiene la clase de main de mmi programa
Tambien tengo un archivo llamdo utilerias que tiene los metodos para javamail


El codigo de Principal es este

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package com.ipn;
 
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.mail.MessagingException;
 
import com.ipn.*;
 
public class Principal{
 
public static void main(String[] args) throws MessagingException
{
  Utilerias u = new Utilerias();
  String correoDestinatario = "webappdevescom@gmail.com";
  String asunto ="Ejercicio17/08/2016";
  String textoDelCorreo = "Si se pudo :v";
  u.enviarMail(correoDestinatario, asunto, textoDelCorreo);
 
}
 
}

y el codigo de Utilerias es este

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package com.ipn;
 
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.Transport;
 
 
public class Utilerias{
 
public void enviarMail(String correoDestinatario, String asunto, String textoDelCorreo) throws MessagingException{
try{
Properties p = new Properties();
p.setProperty("mail.smtp.host", "smtp.gmail.com");
p.setProperty("mail.smtp.starttls.enable", "true");
p.setProperty("mail.smtp.port", "587");
p.setProperty("mail.smtp.user", "nomeacuerdo569@gmail.com");
p.setProperty("mail.smtp.auth", "true");
 
Session session = Session.getDefaultInstance(p);
MimeMessage m = new MimeMessage(session);
 
m.setFrom (new InternetAddress("nomeacuerdo569@gmail.com") );
m.addRecipient (Message.RecipientType.TO, new InternetAddress( "webappdevescom@gmail.com"));
m.setSubject(asunto);
m.setText(textoDelCorreo);
 
Transport t = session.getTransport("smtp");
t.connect("nomeacuerdo569@gmail.com", "manamana");
t.sendMessage(m, m.getAllRecipients() );
t.close();
 
}
 
catch(Exception e){
}
}
}

El proceso de compilacon y ejecucucion lo debo de hacer en terminal forzozamente , ambos archivos estan dentro de este directorio C:\Users\iron1\Desktop\carpeta\com\ipn, ahora cuando los compilo con JAVAC desde consola si puedo crear los .class

http://prntscr.com/c7c9k2

Para generar las clases uso la sintaxis javac -cp DireccionDondeEstaJavamail.jar archivo.java

Pero al momento de querer ejecutar la clase principal no puedo :(

Dice que no encuentra la clase principal, pero hay esta dentro cual puede ser el problema :(

http://prntscr.com/c7cadf

Gracias por su atencion
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Compilar un archivo .java y un .jar juntos Javamail

Publicado por Thanatos (69 intervenciones) el 19/08/2016 07:02:38
En las capturas se ve que la librería mail.jar se encuentra en el directorio de los archivos .java. Para mantener ordenado tu programa sería preferible guardarla en otro directorio, también los archivos .class.

Te pondré un ejemplo con los directorios que normalmente se utilizan.

Como todos los archivos y directorios del programa están en la carpeta carpeta, ese es tu directorio raíz. Crea estas tres carpetas dentro de ese directorio: bin que por el momento estará vacía, lib para las librerías y src para el código.

Coloca tus archivos dentro de las carpetas lib y src de acuerdo a este esquema:

carpeta

bin
por ahora sin contenido.

lib
mail.jar

src

com

ipn

Principal.java
Utilerias.java

Ubica la ruta de trabajo de la consola en el directorio raíz de tu programa:
C:\Users\iron1\Desktop\carpeta>

Para compilar:
C:\Users\iron1\Desktop\carpeta>javac -d bin -cp .\lib\mail.jar .\src\com\ipn\*.java

Al compilar se crearán automáticamente los directorios com e ipn dentro de la carpeta bin, además de los archivos .class.

Para ejecutar:
C:\Users\iron1\Desktop\carpeta>java -cp bin;lib\mail.jar com.ipn.Principal
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Compilar un archivo .java y un .jar juntos Javamail

Publicado por Sergio (9 intervenciones) el 22/11/2016 20:50:08
Buenas tardes,

Tengo el mismo problema desde Linux...... Tengo una clase A principal y una B modal, he empleado el la libreria jcalendar-1.4.jar y mediante Eclipse puedo compilar y ejecutar sin problema, pero desde consola es imposible. La clase que importa el .jar es la B......

¿ Alguien puede ayudarme ?

Gracias de Antemano
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar