Erro de iniciante - não consigo executar meu programa

13 respostas
A

Pessoal, sei que essa é uma dúvida muito boba, mas não consegui resolver. Espero que possam me dar uma ajuda. É o seguinte, fiz um programinha, mas não consigo executar. Ele compila sem problemas, mas na hora de executar dá o seguinte erro:

Exception in thread “main” java.lang.NoClassDefFoundError: addition

O nome da classe e do arquivo estão corretos (inclusive maiúsculas e minúsculas), usei o bloco de notas e o NetBeans e nada… e não sei o que pode ser…

Alguém pode me dar uma ajuda?

Valeu moçada!

Luiz

13 Respostas

israelwm

cola teu código ae, provavelmente naum tem a classe main

fbanin

Posta o código, parece que não esta achando alguma classe… deve ter algo escrito errado no main… instancia de objeto etc… sem o código fica meio complicado :roll:

Thiago_Senna

poste seu código aqui, se não ninguém vai saber como ajudar!

Certifique de que todos o código foi compilado… e na compilação deve–se ficar atento as dependências, caso um código dependa que um outro seja compilado primeiro… mas não da para ficar especulando… joga o código no post!

confira a assinatura do método main… (talvez tenha nava a ver)

public static void main(string[] args) {
}

ou

public static void main(string args[]) {
}

Abraços!

israelwm

public class NomeDaClasse { //NomeDaClasse = Igual nome do arquivo public static void main(String[] args) { // o main tem q ser assim //bla bla } }

A

o código é o seguinte:

import javax.swing.JOptionPane;

public class Addition {
    
    public static void main(String[] args) {

        String firstNumber;
        String secondNumber;
        int number1;
        int number2;
        int sum;
  
        firstNumber = JOptionPane.showInputDialog("Enter first number");
        secondNumber = JOptionPane.showInputDialog("Enter second number");

        number1 = Integer.parseInt(firstNumber);
        number2 = Integer.parseInt(secondNumber);

        sum = number1 + number2;
        
        JOptionPane.showMessageDialog(null, "The sum is " + sum, "Results", JOptionPane.PLAIN_MESSAGE);

        System.exit(0);
    }
    
}

é bem simples, mas não tá rolando… e como não saco nada de java… nem sei o que fazer…

Valeu moçada

Luiz

fbanin

Na boa, esta funcionando… compilei e executei…

Dá uma olhada na sua variavel de ambiente, a tal CLASSPATH…

israelwm

Cara aqui rodou tudo blz, verifique se o nome do arquivo é o mesmo do nome da classe:

nome do arquivo Addition.java (com o 1.o ‘A’ em maiúsculo)

A

Acabei de encontrar um artigo aqui dizendo que esse erro pode ser isso mesmo, a CLASSPATH.
Valeu pela paciência, pessoal!

Luiz

israelwm

é mesmo, é CLASSPATH mesmo:

Thiago_Senna

Boa … boa…

CLASSPATH = .;%JAVA_HOME%\lib

(fique atento ao “.” quando vc declarar sua classpath… para indicar que seu direótório corrente seja considerado ao executar suas aplicações!!!

JAVA_HOME --> deve apontar a pasta onde o java foi instalado
CLASSPATH=.;%JAVA_HOME%\lib( --> bibliotecas do java)
PATH=%PATH%;%JAVA_HOME%\bin

Não ligue para as zombações pelo fato de vc ser classpath… :lol: :lol: :lol:
Logo logo vc passará a ser o mais novo HelloWorld!!!

Abraços!

ivanmc

Alguém tem uma dica ?

Buildfile: C:\java\eclipse\workspace\FTU\build.xml

createtables:

[schemaexport] (cfg.Environment                     478 ) Hibernate 2.1.7

[schemaexport] (cfg.Environment                     512 ) loaded properties from resource hibernate.properties: {hibernate.connection.password=****, hibernate.jdbc.batch_versioned_data=true, hibernate.query.substitutions=true 1, false 0, yes Y, no N, hibernate.cache.region_prefix=hibernate.test, hibernate.c3p0.idle_test_period=3000, hibernate.show_sql=true, hibernate.proxool.pool_alias=pool1, hibernate.c3p0.max_statements=50, hibernate.jdbc.batch_size=0, hibernate.c3p0.timeout=300, hibernate.cache.use_query_cache=true, hibernate.max_fetch_depth=1, hibernate.jdbc.use_streams_for_binary=true, hibernate.c3p0.min_size=5, hibernate.connection.pool_size=1, hibernate.connection.username=root, hibernate.connection.driver_class=com.mysql.jdbc.Driver, hibernate.cache.provider_class=net.sf.hibernate.cache.EhCacheProvider, hibernate.c3p0.max_size=20, hibernate.cglib.use_reflection_optimizer=true, hibernate.dialect=net.sf.hibernate.dialect.MySQLDialect, hibernate.connection.url=jdbc:mysql:///ftu}

[schemaexport] (cfg.Environment                     537 ) using <a href="http://java.io">java.io</a> streams to persist binary types

[schemaexport] (cfg.Environment                     538 ) using CGLIB reflection optimizer

[schemaexport] (cfg.Environment                     567 ) using JDK 1.4 java.sql.Timestamp handling

[schemaexport] (cfg.Configuration                   169 ) Mapping file: C:\java\eclipse\workspace\FTU\WEB-INF\classes\br\edu\ftu\modelo\Email.hbm.xml

[schemaexport] (cfg.Binder                          230 ) Mapping class: br.edu.ftu.modelo.Email -> email

[schemaexport] (cfg.Configuration                   169 ) Mapping file: C:\java\eclipse\workspace\FTU\WEB-INF\classes\br\edu\ftu\modelo\Usuario.hbm.xml

[schemaexport] (cfg.Binder                          230 ) Mapping class: br.edu.ftu.modelo.Usuario -> usuario

BUILD FAILED: java.lang.NoClassDefFoundError: br/edu/ftu/modelo/email (wrong name: br/edu/ftu/modelo/Email)

Total time: 1 second

Meu classpath está assim: .;%JAVA_HOME%\lib
java_home = C:\Arquivos de programas\Java\jre1.5.0_02\

A classe é essa:

public class Email {

private long id;

private String conta;

private String provedor;

private Integer ativo;

private Integer principal;

private Date timestamp;

private Usuario usuario;
/**
 * @return Returns the id.
 * @hibernate.id
 *  generator-class = "sequence"
 *  column = "id" 
 * @hibernate.generator-param 
 * 	name="sequence" 
 * 	value="id_email"    
 */
public long getId() {
	return id;
}
/**
 * @return Returns the ativo.
 * @hibernate.property
 *  column="ativo"
 *  not-null="true"  
 */
public Integer isAtivo() {
	return ativo;
}
/**
 * @return Returns the principal.
 * @return Returns the ativo.
 * @hibernate.property
 *  column="principal"
 *  not-null="true"  
 */
public Integer isPrincipal() {
	return principal;
}
/**
 * @return Returns the provedor.
 * @hibernate.property
 *  column="provedor"
 *  not-null="true"
 * 	type="string"
 *  length="50"    
 */
public String getProvedor() {
	return provedor;
}
/**
 * @return Returns the conta de usuario.
 * @hibernate.property
 *  column="conta"
 *  not-null="true"
 * 	type="string"
 *  length="50"    
 */
public String getConta() {
	return conta;
}
/**
 * @return Returns the timestamp.
 * @hibernate.timestamp
 *  name="timestamp"
 *  column="TIMESTAMP"
 *  not-null="false"  
 */
public Date getTimestamp() {
	return timestamp;
}
/**
 * @param ativo The ativo to set.
 */

public void setAtivo(Integer ativo) {
	this.ativo = ativo;
}
/**
 * @param id The id to set.
 */
public void setId(long id) {
	this.id = id;
}
/**
 * @param principal The principal to set.
 */
public void setPrincipal(Integer principal) {
	this.principal = principal;
}
/**
 * @return Returns the usuario.
 */
public Usuario getUsuario() {
	return usuario;
}
/**
 * @param provedor The provedor to set.
 */
public void setProvedor(String provedor) {
	this.provedor = provedor;
}
/**
 * @param usuario The usuario to set.
 */
public void setConta(String conta) {
	this.conta = conta;
}
/**
 * @param usuario The usuario to set.
 */
public void setUsuario(Usuario usuario) {
	this.usuario = usuario;
}
/**
 * @param timestamp The timestamp to set.
 */
public void setTimestamp(Date timestamp) {
	this.timestamp = timestamp;
}
/**
 * @param ponteiroDeArquivoXML
 * envia email para a conta de email
 */
public void enviaEmail(String ponteiroDeArquivoXML){
	// pega configuração de sendmail em sendmail.xml
	// pega arquivo XML com mensagem
	// recolhe titulo da mensagem
	// recolhe corpo da mensagem
	// recolhe endereço para reply
	// monta mensagem
	// envia mensagem para [email removido]
}

}

o propertie.hibernate esta assim:

MySQL

hibernate.dialect net.sf.hibernate.dialect.MySQLDialect
#hibernate.connection.driver_class org.gjt.mm.mysql.Driver
hibernate.connection.driver_class com.mysql.jdbc.Driver
hibernate.connection.url jdbc:mysql:///ftu
hibernate.connection.username root
hibernate.connection.password *****

meu hbx: C:\java\eclipse\workspace\ftu\WEB-INF\classes\br\edu\ftu\modelo

<?xml version="1.0" ?>
  • id_email
  • <!-- To add non XDoclet property mappings, create a file named hibernate-properties-Email.xml containing the additional properties and place it in your merge dir.

    –>

valeu.

ivanmc

desculpe, faltou o build !!

<target name="generate">

	<hibernatedoclet destdir="WEB-INF/classes" excludedtags="@version,@author,@todo" force="${generated.forced}" mergedir="${generated.home}" verbose="false">

		<fileset dir="WEB-INF/src" includes="**/*.java" />
		<hibernate version="2.0" />

	</hibernatedoclet>

</target>

<target name="createtables" description="creates database tables">
	<schemaexport   quiet="no" text="no" drop="no" delimiter=";" properties="WEB-INF/src/hibernate.properties">
		<fileset dir="WEB-INF/classes" includes="**/*.hbm.xml" />
	</schemaexport>
</target>

<path id="xdoclet.classpath">
	<fileset dir="WEB-INF/lib" includes="**/*.jar"/>
</path>

<taskdef name="hibernatedoclet" classname="xdoclet.modules.hibernate.HibernateDocletTask">
	<classpath refid="xdoclet.classpath" />
</taskdef>

<taskdef name="schemaexport" classname="net.sf.hibernate.tool.hbm2ddl.SchemaExportTask" classpath="WEB-INF/classes">
	<classpath refid="xdoclet.classpath" />
</taskdef>
T

… eu gostaria de tirar uma dúvida realmente tola! Bom, estou tentando executar um Applet, mas tudo o que obtenho é um grande quadro cinza! Meu navegador, provavelmente, não tem o plug-in necessário para rodar um JApplet.

Por isso pergunto: como posso instalar um plug-in SEM ter acesso à Internet? Não tenho como acessar a Grande Rede em casa, sabem? E então? Tem jeito?

[]'s
Tiago Augusto
JAVA Rookie

Criado 12 de abril de 2005
Ultima resposta 14 de mai. de 2005
Respostas 13
Participantes 6