Olá, pessoal:
Preciso de um “help” para tentar compilar um programinha que envia arquivos para um servidor ftp!
Peguei esse código nesse link: http://www.guj.com.br/article.show.logic?id=154.
Tento compilar o programa pelo prompt de comando do WinXP, com o seguinte comando informado pelo autor Daniel Castro:
java -cp ./;./Commons-net/commons-net-2.0.jar MyFTP eu.jpeg (no meu caso eu apenas alterei o nome do arquivo)
mas dá o seguinte erro:
[color=red]Exception in thread “main” java.lan.NoClassDefError: MyFTP
Caused by: java.lang.ClassNotFoundException: MyFTP
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AcessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass (Unknown Source)
at java.lang.ClassLoader.loadClass (Unknown Source)
at java.sun.misc.Laucher$AppClassLoader.loadClass (Unknown Source)
at java.lang.ClassLoader.loadClass (Unknown Source)
at java.lang.ClassLoader.loadClassInternal (Unknown Source)
Could not find the main class: MyFTP. Program will exist [/color]
Por favor, alguém sabe o que poder ser este erro. Eu ja instalei os jars commons-net, defini minha classe MyFTP como principal, mas não consigo descubrir o que pode ser!
Tentei compilar do próprio Eclipse, e até que roda, mas não faz nada, só imprime conexão estabelecida, mas não envia os arquivos para meu servidor ftp (que óbvio eu configurei minha url, login e senha).
Estou usando o comando certo para compilar? Falta mais alguma lib a ser instalada?
Se alguém souber, me deêm um “help”!
Abç
Essa tua classe MyFtp possui um método com a seguinte assinatura???
public static void main(String[] a) {
}
Sim, kra…
Pq? Minha classe “main” foi declarada certin… desse jeito mesmo!
O q vc acha q pode ser?
Para ser mais claro, eis aí o código, o tenho de fazer pra executar realmente o que o programa faz, e não simplesmente a mensagem: conexão estabelecida, como falei?
import java.io.File;
import java.io.InputStream;
import java.io.FileInputStream;
import org.apache.commons.net.ftp.FTPReply;
import org.apache.commons.net.ftp.FTPClient;
public class MyFTP {
public static void main(String[] args) {
String nomeArquivo = null;
FTPClient ftp = new FTPClient();
try {
ftp.connect("inforpratica.com.br");
//verifica se conectou com sucesso!
if(FTPReply.isPositiveCompletion( ftp.getReplyCode() ) ) {
ftp.login("inforpratica", "luc27024");
System.out.println("Conexão estabelecida!");
} else {
//erro ao se conectar
ftp.disconnect();
System.out.println("Conexão recusada!");
System.exit(1);
}
//para cada arquivo informado...
for( int i=0; i<args.length; i++ ) {
//abre um stream com o arquivo a ser enviado
InputStream is = new FileInputStream( args[i] );
//pega apenas o nome do arquivo
int idx = args[i].lastIndexOf(File.separator);
if( idx < 0 ) idx = 0;
else idx++;
nomeArquivo = args[i].substring( idx, args[i].length() );
//ajusta o tipo do arquivo a ser enviado
if( args[i].endsWith(".rar") ) {
ftp.setFileType( FTPClient.ASCII_FILE_TYPE );
} else if( args[i].endsWith(".rar") ) {
ftp.setFileType( FTPClient.BINARY_FILE_TYPE );
} else {
ftp.setFileType( FTPClient.ASCII_FILE_TYPE );
}
System.out.println("Enviando arquivo "+nomeArquivo+"...");
//faz o envio do arquivo
ftp.storeFile( nomeArquivo, is );
System.out.println("Arquivo "+nomeArquivo+" enviado com sucesso!");
}
ftp.disconnect();
System.out.println("Fim. Tchau!");
} catch( Exception e ) {
System.out.println("Ocorreu um erro: "+e);
System.exit(1);
}
}
}