Fala pessoal! Tudo bem? Sou iniciante em Java e não consigo abrir o executável do meu projeto. Obs o projeto só contem a classe do Jframe, mas quando dou Clean and Build ele não abre fora da IDE (uso NetBeans). Conseguem em me ajudar?

Screenshot_1

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.Principal

Poré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.LeitorDePensamento

Eu 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.TelaSoma

Screenshot_1

Tente 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.

image

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 :slight_smile:
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é…