Adicionar um projeto junto com suas respectivas bibliotecas no NetBeans 8.0

05/05/2014

0

Beleza Pessoal!

No NetBeans 8.0 eu tenho um projeto X e um projeto Y. No projeto Y há as bibliotecas A e B. Quando eu adiciono o projeto Y nas bibliotecas do projeto X, eu tenho que adicionar as bibliotecas do projeto Y (A e B).

Existe alguma maneira que quando eu adicionar um projeto Y a um outro projeto, automaticamente as respectivas bibliotecas deste projeto Y venham junto?
Eli Barbosa

Eli Barbosa

Responder

Posts

05/05/2014

Carlos Proença

vc esta usando maven??

se n... tentou colocar o projeto jar do Y no X?

att.
Responder

06/05/2014

Eli Barbosa

Não estou utilizando Maven.
Sim, já fiz isto. Vou no projeto X, clico com o direito em "Libraries", "Add Project" e adiciono o jar do projeto Y.

O problema é que os jar das bibliotecas do projeto Y não vem junto.

Acredito que a solução seja utilizar o Maven.
Responder

06/05/2014

Carlos Proença

quando voce adiciona o jar.... este jar... é vc que criou na mao... ou usando o netbeans?

tenta criar o jar na mao... e depois abre ele no winrar... e ve se as libs estao dentro...

mas recomendo que rssr vc use o maven... ele automatiza tudo isso pra vc... e muito mais

att.
Responder

07/05/2014

Eli Barbosa

Esse jar é o do meu projeto no Netbeans. Não gerei na mão, foi o Netbeans.
O Netbeans cria o jar do projeto sem as bibliotecas.

Eu achei na internet uma maneira de criar o jar do projeto junto as bibliotecas que o projeto está usando.

Primeiro tem que configurar o arquivo build.xml que está no diretório do projeto.
No final do arquivo build.xml e antes da tag <\project>

<target name="-post-jar">  
  
          
        <property name="store.jar.name" value="${application.title}"/>  
  
        <property name="store.dir" value="store"/>  
        <property name="store.jar" value="${store.dir}/${store.jar.name}.jar"/>  
  
        <echo message="Packaging ${store.jar.name} into a single JAR at ${store.jar}"/>  
  
        <delete dir="${store.dir}"/>  
        <mkdir dir="${store.dir}"/>  
  
        <jar destfile="${store.dir}/temp_final.jar" filesetmanifest="skip">  
            <zipgroupfileset dir="dist" includes="*.jar"/>  
            <zipgroupfileset dir="dist/lib" includes="*.jar"/>  
  
            <manifest>  
                <attribute name="Main-Class" value="${main.class}"/>                  
            </manifest>  
        </jar>  
  
        <zip destfile="${store.jar}">  
            <zipfileset src="${store.dir}/temp_final.jar"  
            excludes="META-INF/*.SF, META-INF/*.DSA, META-INF/*.RSA"/>  
        </zip>  
  
        <delete file="${store.dir}/temp_final.jar"/>  
  
    </target>  


Precisa marcar ”Copy Dependent Libraries” na propriedades do projeto->Build->Packaging.
Ao marcar ”Copy Dependent Libraries” o Netbeans ira copiar as dependência do projeto para o diretório "dist\lib".

Feito isto, toda vez que compilar será gerado um jar no diretório store dentro da pasta do projeto.

Mas na minha opinião isso não é uma boa prática.
Pois se eu tivesse que adicionar um outro projeto ao meu projeto X, e este outro projeto usar uma ou mais bibliotecas que por coincidência o projeto Y também usa. O meu projeto X iria ter duas bibliotecas iguais.

Exemplo:

X, Y e Z (criados por mim no Netbeans)

 
                |----A
       |--Y--->
       |        |----B
       |
X--->
       |
       |
       |--Z--->  A


Numa situação dessa Y tem a biblioteca A. Z também a tem. X, que adicionou Y e Z, tem dois A.

Obrigado Carlos pela atenção, vou ter que aprender o Maven para resolver este problema.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar