O projeto está dando erro e não executa, foi desenvolvido como projeto maven do NetBeans

Cordiais saudações, povo do GUJ.

Meu projeto desenvolvido em Java no NetBeans não está funcionando e no console está dando erro. Veja abaixo texto que ele produz. Observação: parece que a parte mais importante dos erros está mais para o final do texto que está aqui abaixo na forma de código.

Quem puder, por favor dá um help!!!

cd C:\Users\Usuario\temp\EmpresaVI; "JAVA_HOME=C:\\Program Files\\Java\\jdk1.8.0_202" cmd /c "\"C:\\Program Files\\NetBeans-12.6\\netbeans\\java\\maven\\bin\\mvn.cmd\" -Dexec.vmArgs= \"-Dexec.args=${exec.vmArgs} -classpath %classpath ${exec.mainClass} ${exec.appArgs}\" -Dexec.appArgs= -Dexec.mainClass=empresavi.EmpresaVI \"-Dexec.executable=C:\\Program Files\\Java\\jdk1.8.0_202\\bin\\java.exe\" \"-Dmaven.ext.class.path=C:\\Program Files\\NetBeans-12.6\\netbeans\\java\\maven-nblib\\netbeans-eventspy.jar\" -Dfile.encoding=UTF-8 org.codehaus.mojo:exec-maven-plugin:3.0.0:exec"
Running NetBeans Compile On Save execution. Phase execution is skipped and output directories of dependency projects (with Compile on Save turned on) will be used instead of their jar artifacts.
Scanning for projects...

----------------------< com.mycompany:EmpresaVI >-----------------------
Building EmpresaVI 1.0-SNAPSHOT
--------------------------------[ jar ]---------------------------------

--- exec-maven-plugin:3.0.0:exec (default-cli) @ EmpresaVI ---
java.lang.UnsupportedClassVersionError: empresavi/EmpresaVI has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
	at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495)
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" [ERROR] Command execution failed.
org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
    at org.apache.commons.exec.DefaultExecutor.executeInternal (DefaultExecutor.java:404)
    at org.apache.commons.exec.DefaultExecutor.execute (DefaultExecutor.java:166)
    at org.codehaus.mojo.exec.ExecMojo.executeCommandLine (ExecMojo.java:982)
    at org.codehaus.mojo.exec.ExecMojo.executeCommandLine (ExecMojo.java:929)
    at org.codehaus.mojo.exec.ExecMojo.execute (ExecMojo.java:457)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
------------------------------------------------------------------------
BUILD FAILURE
------------------------------------------------------------------------
Total time:  1.157 s
Finished at: 2023-10-11T12:42:52-03:00
------------------------------------------------------------------------
Failed to execute goal org.codehaus.mojo:exec-maven-plugin:3.0.0:exec (default-cli) on project EmpresaVI: Command execution failed.: Process exited with an error: 1 (Exit value: 1) -> [Help 1]

To see the full stack trace of the errors, re-run Maven with the -e switch.
Re-run Maven using the -X switch to enable full debug logging.

For more information about the errors and possible solutions, please read the following articles:
[Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

Na verdade a parte mais importante está logo no início: UnsupportedClassVersionError.

Vc compilou seu projeto com uma versão mais recente do Java e tentou executar com uma versão mais antiga.

No caso vc compilou com Java 17 (class file version 61) e tá tentando executar com Java 8 (class file version 52).

Para corrigir, basta vc configurar corretamente o JDK na IDE.

Eu quero usar agora o Java 8. Onde devo acessar no IDE NetBeans para escolher a opção para Java 8? Considere que o NetBeans está dizendo que o problema é com um objeto de importação do maven, você tem certeza que é a versão do Java que está gerando o problema?

Como você disse que o problema era a compilação em Java 17 e execução em Java 8, eu apaguei os arquivos .class e esperava que ele compilasse novamente com o Java 8 mas meu procedimento está gerando erro novo. Tem alguma coisa que possa ser feita para o NetBeans refazer as compilações e parar com os erros?

Amigos, notem que eu já tinha um problema agora tenho esses dois que estão descritos acima, vou mandar a lista de erros logo abaixo: (Acho que quando eu apaguei os .class criei um novo erro, como concerto?)

cd C:\Users\Usuario\temp\EmpresaVI; "JAVA_HOME=C:\\Program Files\\Java\\jdk1.8.0_202" cmd /c "\"C:\\Program Files\\NetBeans-12.6\\netbeans\\java\\maven\\bin\\mvn.cmd\" -Dexec.vmArgs= \"-Dexec.args=${exec.vmArgs} -classpath %classpath ${exec.mainClass} ${exec.appArgs}\" -Dexec.appArgs= -Dexec.mainClass=empresavi.EmpresaVI \"-Dexec.executable=C:\\Program Files\\Java\\jdk1.8.0_202\\bin\\java.exe\" \"-Dmaven.ext.class.path=C:\\Program Files\\NetBeans-12.6\\netbeans\\java\\maven-nblib\\netbeans-eventspy.jar\" -Dfile.encoding=UTF-8 org.codehaus.mojo:exec-maven-plugin:3.0.0:exec"
Running NetBeans Compile On Save execution. Phase execution is skipped and output directories of dependency projects (with Compile on Save turned on) will be used instead of their jar artifacts.
Scanning for projects...

----------------------< com.mycompany:EmpresaVI >-----------------------
Building EmpresaVI 1.0-SNAPSHOT
--------------------------------[ jar ]---------------------------------

--- exec-maven-plugin:3.0.0:exec (default-cli) @ EmpresaVI ---
Erro: Não foi possível localizar nem carregar a classe principal empresavi.EmpresaVI
Command execution failed.
org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
    at org.apache.commons.exec.DefaultExecutor.executeInternal (DefaultExecutor.java:404)
    at org.apache.commons.exec.DefaultExecutor.execute (DefaultExecutor.java:166)
    at org.codehaus.mojo.exec.ExecMojo.executeCommandLine (ExecMojo.java:982)
    at org.codehaus.mojo.exec.ExecMojo.executeCommandLine (ExecMojo.java:929)
    at org.codehaus.mojo.exec.ExecMojo.execute (ExecMojo.java:457)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
------------------------------------------------------------------------
BUILD FAILURE
------------------------------------------------------------------------
Total time:  1.658 s
Finished at: 2023-10-11T13:39:01-03:00
------------------------------------------------------------------------
Failed to execute goal org.codehaus.mojo:exec-maven-plugin:3.0.0:exec (default-cli) on project EmpresaVI: Command execution failed.: Process exited with an error: 1 (Exit value: 1) -> [Help 1]

To see the full stack trace of the errors, re-run Maven with the -e switch.
Re-run Maven using the -X switch to enable full debug logging.

For more information about the errors and possible solutions, please read the following articles:
[Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

Atenciosamente,
Ronaldo

P.S.: Obrigado pela força!!!

Agora o problema é este:

Erro: Não foi possível localizar nem carregar a classe principal empresavi.EmpresaVI

Ou seja, vc tinha no seu projeto uma classe chamada empresavi.EmpresaVI, onde tinha o método main e estava definida como sua classe principal. Porém, por qualquer motivo, vc a renomeou o a apagou e agora o Netbeans não consegue encontrá-la.

Para corrigir basta configurar a classe principal correta. Para isso faça o seguinte:

Na barra lateral, clique com o direito no seu projeto e vá em Propriedades. Em Categorias, vá em Run e no campo Main class, preencha com o nome da sua classe principal verdadeira, incluindo o pacote.

Wellington, como eu coloquei na minha dúvida anterior eu simplesmente apaguei todos arquivos .class, ou seja, o NetBeans não vai encontrar nenhuma classe porque eu deliberadamente apaguei os arquivos. Então, conforme eu coloquei na minha dúvida anterior eu gostaria de saber como recompilar todas as classes e gerar novamente os arquivos .class usando o NetBeans. Eu apaguei pelo Windows então o NetBeans não tem registro dessa exclusão. Não sei o que fazer. O que faço agora?

Botão direito no projeto, Properties (última opção), Sources (opção inicial do diálogo que será aberto), em Source/Binary Format escolha JDK 8. Dê ok. Dê um Clean and Build no projeto. Pronto, se vc não estiver usando nada de nenhuma vesão depois a 8 seu projeto compilará normalmente e os binários serão do Java 8.

1 curtida

A limpeza do build deve ser feita pelo NetBeans, não manualmente. Botão direito no projeto, Clean. Se quiser limpar e construir, é só usar o botão com o martelo e vassoura na barra de ferramentas.

1 curtida

Ah, outro detalhe. Vc precisa tomar cuidado com as dependências do projeto. Por exemplo, o Driver tem que ser no máximo compilado na versão 8 do JDK tbm. Essa informação normalmente está disponível no site de download. Se o projeto for um projeto Maven o próprio Maven resolve isso para vc.

1 curtida

David Buzatto, fiz os procedimentos que você recomendou… e por isso muito obrigado. Funcionou!!!

1 curtida