Fórum Adicionar um projeto junto com suas respectivas bibliotecas no NetBeans 8.0 #477985
05/05/2014
0
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
Curtir tópico
+ 0Posts
05/05/2014
Carlos Proença
se n... tentou colocar o projeto jar do Y no X?
att.
Gostei + 0
06/05/2014
Eli Barbosa
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.
Gostei + 0
06/05/2014
Carlos Proença
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.
Gostei + 0
07/05/2014
Eli Barbosa
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---> ANuma 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.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)