Desculpem, acho que não estou conseguindo me expressar direito.
Meu dilema é o seguinte, resolvemos (the boss) aqui na empresa mandar um ERP chamado Microsiga para casa da cucuia, pois o suporte aqui em Salvador - BA da criança é horrível e da forma como nos atendem demonstra que não conhecem a própria aplicação direito. Resolvemos então desenvolver internamente
Eu tenho um .jar com como um CORE da aplicação, onde ela gerencia impressora, banco de dados, montagem de relatorios, menus, gerenciar de usuário, ambiente, interfaces e etc. Também tem vários Beans que eu precisei criar, como JButton, JPanel, JTable, JTree, JDialog, tudo especialização e modelos. Este CORE é tudo que a aplicação precisa.
O nome deste .jar é Aplicacao.jar (Exemplo)
O outro .jar é onde esta as regras de negocio do cliente, como relatorios (o sql), formularios, janelas. Também tem o diagrama de classe, bem… as coisas/modelo de negocio do cliente. Tudo utilizando os Beans dos pacotes contidos em Aplicacao.jar. O nome deste .jar é AplicacaoCLib.jar
Eu sei que ai tem um pequeno problema em relação ao ClassLoader quando ele for olhar para dentro do AplicacaoCLib.jar (se não existir na hora de compilar ele nem sabera que existe) e então quando compilo e junto o Aplicacao.jar eu deixo em branco um AplicacaoCLib.jar (no classpath) para depois ser criado um e substituído por um com a aplicaçoes do cliente.
Obs.: quando substituo o AplicacaoCLib.jar eu preciso cadastrar as aplicações contidas nele no DB utilizando um formulario de Aplicacao.jar (no momento estou fazendo assim, depois vejo um forma de como sair procurando dentro do jar e sair adicionando automaticamente do DB)
Deu para entender? Creio que seja alguma coisa com o ClassLoader (acho eu).
Aqui tem um snapshot compilando/juntando o Aplicacao.jar e um AplicacaoCLib.jar com alguns programas já prontos.
http://www.felicio.com.br/downloads/snapshot1.jpg
E este é com um AplicacaoCLib.jar em branco e depois substituido por um com aplicações validas (só para o classloader saber que existe um AplicacaoClib.jar), olhem só o classnotfoundexception…
http://www.felicio.com.br/downloads/snapshot2.jpg
O código para instanciar é quase aquele que eu escrevi anteriormente.
“Class.forName(className).newInstance()”
Agradeço realmente muito qualquer ajuda :lol:
PS1.: Sei que o Menu não esta bem montando ainda e também sei que não estou nomeando os pacotes como manda o figurino (padrão), domínio inverso + nome do pacote. Mas depois utilizando refactor mudo isso rapidinho. E uma coisa boa, estou tentando convencer o The Boss a liberar a aplicação OpenSource, nada mais justo já que esta sendo desenvolvido utilizando ferramentas livres, netbeans, postgresql entre outros.
PS2.: cv - O FormPanel é uma interface contida em Aplicacao.jar mas que eu utilizo em AplicacaoCLib.jar. Só instancio formularios que implementem esta interface.
PS3.: marciobarroso - eu só sei o nome da classe em tempo de execução e da forma que você falou eu precisaria saber em tempo de compilação.