Gerar .jar

Estou usando Netbeans e Maven.

O .jar que estou gerando está sem as dependências e sem uma pasta de propriedades que eu tenho. Como posso gerar o .jar com esta pasta e com as dependências?

Use o plugin do maven para gerar o jar com as dependências:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.0</version>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>principal.Principal</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
        
        <!--http://pt.stackoverflow.com/questions/8218/criando-jar-com-depend%C3%AAncias-em-maven-->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>2.2</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                    <configuration>
                        <transformers>
                            <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                <mainClass>principal.Principal</mainClass>
                            </transformer>
                        </transformers>
                    </configuration>
                </execution>
            </executions>
        </plugin>            
    </plugins>
</build>
1 curtida

Fiz assim, mas as pastas de propriedades que tenho no projeto nao compilou junto ao .jar e as dependencias ficam descompactadas em pastas, nao ficam como .jar

Verifique se as dependências estão com escopo compile.

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>4.3.1.Final</version>
        <scope>compile</scope>
    </dependency>
1 curtida

Sim, scope está como compile. E está acontecendo outra coisa, não está aceitando as funções que uso do Java 8… E tambem não está executando o sistema, o arquivo MAIFEST.MF está com a classe principal assim:

Main-Class: com.rrl.forms.FormPrincipal

Eu compartilhei um projeto que gera .jar com as dependências, compara ele com o seu para ver se falta alguma coisa.

Link do projeto:

https://drive.google.com/folderview?id=0B1GHJ_sc9hmIOVlGa3MxZ01yUG8&usp=sharing

1 curtida