"could not find the main class. program will exit"

ae pessoal!
terminei meu projeto, e criei um .jar no netbeans com “construir main project”.
apareceu:
“init:
deps-jar:
compile:
Not copying the libraries.
To run this application from the command line without Ant, try:
java -jar “C:\Documents and Settings\user\Desktop\workstation\Vyger\dist\Vyger.jar”
jar:
CONSTRUÍDO COM SUCESSO (tempo total: 0 segundos)”

ai beleza, aqui eu consigo rodar, tanto clicando 2x como pelo prompt. Só que quando vou mandar pra alguem, ninguem consegue abrir. Aparece esse erro do título…
eu procurei no google, mas não achei nada que parecesse com o meu caso.
Detalhes: no readme na pasta dist tem "When you build an Java application project that has a main class, the IDE automatically copies all of the JAR files on the projects classpath to your projects dist/lib folder. , só que na pasta dist só tem o .jar e o readme, não tem essa outra pasta.
Será que isso tem a ver com o fato de eu ter um package que chama main? ou que nenhuma classe minha chama main?

Tem a haver com o fato de que, no seu projeto, vc não definiu o “static void main”, ou seja, a classe tem tem o Main principal de chamada ao programa.

Veja que as bibliotecas não foram copiadas.

[quote]To run this application from the command line without Ant, try:
java -jar “C:\Documents and Settings\user\Desktop\workstation\Vyger\dist\Vyger.jar” [/quote]
Ele está dizendo como vc deve rodar o Jar, sem o Ant.

Vc criou um projeto do zero, tudo pelo Netbeans, ou vc criou/alterou manualmente o Ant gerado pelo programa?

Abraços

no código tem public static void main(String args[]) … só que é dentro de uma outra classe… não pode?
não entendi essa de rodar o .jar sem o Ant… eu não mexi em nada, só fiz aquilo que escrevi no primeiro tópico…

Talvez o netbeans não esteja encontrando o Main.
Então, tenta colocar ele no pacte padrão do projeto.

Abraços

o que você quer dizer com pacote padrão?
ele está dentro de um pacote que chama main…
será que tem problema o fato de outro pacote ter o mesmo nome do programa?

Cara, é assim:

o Ant é uma ferramenta de automaçã de processos. por execmplo: compilar, executar, limpar, construir…
no caso que vc reportou: “init:”, “deps-jar:”, “compile:” são tarefas do Ant.

Estas tarefas estão armazenadas num arquivo XML chamado “build.xml”, que está na raiz da aplicação.
Porém, NO NETBEANS, este build faz uma importação para um outro XML, PROPRIO DO NETBEANS, que está em [diretório da aplicação]\nbproject\build-impl.xml.

Está ocorrendo um erro na tarefa compile.

[quote]Not copying the libraries.
To run this application from the command line without Ant, try: [/quote]
Tradução:
“Bibliotecas não copiadas
Para executar esta aplicação por linha de comando (leia-se prompt ou console) SEM O ANT, tente:”

ou seja:
já tem a primeira resposta pq não tem a pasta LIB no dist de sua apicação, junto com JAR. ocorreu um erro na compilação e ele não criou a pasta e não copiou as bibliotecas.

então, ele está somente referenciando… por exemplo: se vc usa a biblioteca JDom.jar na pasta “C:\JDom”, ele está referenciando ela. Qdo tenta executar a aplicação em outra máquina, q não existe a página e o arquivo, ele não executa. Falta a referência.

Entao, do meu ponto de vista, ou ainda existe um erro de compilação que não está deixando que o processo de compilação do Jar seja feito
ou
ele não está encontrando o arquivo com o Main.

Pra tentar sanar a 2a opção foi q eu propus vc colocar numa pacote padrão, como chama o netbeans. Quer dizer, fora de qualquer pacote. Para isso, é só arrastar sua classe main para cima do nome do projeto. Ele cria um <pacote padrão>, que nada mais é do que colocar as classes fora de qualquer pactoe, na raiz do projeto.

ufa… cansei a mao… n o bom sentido, claro.

abraços

consegui…
obrigado!
Abraços

Blz luiser
Parabens

Mas como vc resolveu o prob?

Abrçaos

eu fiz o que você falou… tirei a classe principal que continha a main do package main, criei um package “padrao” e coloquei ela lá dentro… =)