Como está fazendo para “abrir fora do NetBeans”?
Vou deixar o passo a passo do que estou fazendo aqui. Primeiro eu clico em “Clean and Build” para construir o projeto, depois vou até a pasta e tento executar.
Já vi em alguns vídeos no YouTube que o eu precisaria colocar o seguinte código no “pom.xml”:
org.apache.maven.plugins maven-jar-plugin 3.2.2 true lib/ caminho.da.sua.classe.PrincipalPorém este código funciona em outros programas, mas neste não. Percebi aqui que talvez não estou descrevendo corretamente o caminho para a classe principal nesse código pom.xml nesse pedaço do código caminho.da.sua.classe.Principal, porém eu coloco classes.TelaGeniol da na mesma.
Como você “vai até a pasta e tenta executar”?
Está dando um um duplo-clique em algum arquivo, é isso?
Caso afirmativo, qual arquivo?
Se é um arquivo JAR, experimenta executar ele em linha de comando e aí mostra o erro que está acontecendo.
Um arquivo JAR não é um executável nativo do sistema operacional, ele é só um arquivo zip contendo classes e, se devidamente configurado, pode ser executado pelo Java.
Você tem um Java instalado na sua máquina ou somente no ambiente de desenvolvimento?
Eu acho que o “problema” dele é que é um projeto Maven e o pom.xml que o NetBeans gera não cria o jar “executável”. @Weslyo1O, você tem duas opções. Ou cria um projeto zerado do tipo “Ant”, que é outro sistema de build suportado pelo NetBeans (um irmão mais velho do Maven, podemos dizer kkk), copia seu código para lá e usa normalmente, assim o .jar gerado vai ser “executável”, ou então configura seu projeto atual para o Maven gerar o .jar “executável”. Manda o conteúdo do arquivo pom.xml que eu (ou o @staroski) ajusto ele e te envio de volta.
Sim seria um arquivo JAR sim, quando você diz “executar pela linha de comando” está se referindo a executar ele usando o CMD do Windows? Vou tentar sim e deixar aqui para você o Feedback.
Certo segue o conteúdo do arquivo:
<?xml version="1.0" encoding="UTF-8"?> 4.0.0 com.mycompany LeitorDePensamento 1.0-SNAPSHOT jar org.netbeans.external AbsoluteLayout RELEASE210 de.staatsbibliothek-berlin.hsp tei-jaxb 1.1.7 jar com.harium.etyl font 1.0.1 jar UTF-8 22 22 com.mycompany.leitordepensamento.LeitorDePensamentoEu consegui por outro aqui para rodar, a única diferença era que não alterei o nome da classe que estou utilizando deixei no padrão que o NetBeans cria mesmo e alterei o pom.xml, vou deixar aqui os prints e o código pom.xml.
Código pom.xml:
<?xml version="1.0" encoding="UTF-8"?> 4.0.0 com.mycompany SomaSwing 1.0-SNAPSHOT jar UTF-8 22 22 com.mycompany.somaswing.SomaSwing org.apache.maven.plugins maven-jar-plugin true com.mycompany.somaswing.TelaSomaTente executar pela linha de comando, já com o pox.xml alterado.
E tenho sim o Java Instalado assim com a JDK.
Tem certeza que esse é o conteúdo do pom?
Não tem nenhuma tag nele…
Experimenta postar o código aqui no fórum usando o botão </>
.
Opa, acabei puxando outra informação ou apenas uma parte dele, vou deixar o correto abaixo.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany</groupId>
<artifactId>SomaSwing</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>22</maven.compiler.source>
<maven.compiler.target>22</maven.compiler.target>
<exec.mainClass>com.mycompany.somaswing.SomaSwing</exec.mainClass>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>com.mycompany.somaswing.TelaSoma</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
</project>```
Qual a diferença entre o com.mycompany.somaswing.SomaSwing
e o com.mycompany.somaswing.TelaSoma
?
Sou totalmente iniciante e pode ser que eu esteja errado, mas pelo que entendi e vendo aqui na IDE o “com.mycompany.somaswing.SomaSwing” se refere ao projeto inteiro porque “SomaSwing” é o nome do projeto e “com.mycompany.somaswing.TelaSoma” se refere a tela do Jframe que eu desenvolvi nesse projeto.
Dev ser por isso que teu Jar não executa, experimenta setar o exec.mainClass
com o com.mycompany.somaswing.TelaSoma
.
Não entendi muito o que você solicitou, desculpe, eu realmente sou bem iniciante, mas eu fiz um novo programa, configurei o pom.xml e abriu normalmente, a única diferença é que era um programa com menos imagens e configurações no JFrame, o que me faz pensar que pode ser algum elemento desses “bugando” o programa…
Na Tag exec.mainClass
do seu pom.xml
você usar o nome da classe que tem o método main
.
Ah sim! Entendi meu amigo, vou fazer os testes aqui e depois dou o Feedback, mas muito obrigado até aqui, fico feliz em saber que a comunidade é forte assim
Aproveitando a oportunidade você acredita que existe alguma vantagem em usar o NetBeans como IDE? Estou pensando em migrar para outra IDE para programar em JAVA, mas tenho essa curiosidade porque NetBeans é nativo da Oracle né…