2015-01-08 2 views
0

У меня есть несколько проектов, Ни один из них не находится под рамой Maven.Netbeans Библиотека рекурсивная/иерархическая зависимость

Проекты имеют зависимость между собой, и я хочу построить очень сильные слои абстракции.

Но я столкнулся с проблемой в области зависимости проекта.

Предположим, с очень простым примером;

//Project1: 
package app; 

class Level1 { 
    public int lvl1Var = 0; 
} 
//---------------------------------------------- 

//Project2: 
//This project has Project1 on it dependencies 
package app; 

class Level2 extends Level1 { 
    public int lvl2Var = 1; 
} 
//----------------------------------------------- 

//Project3: 
//This project has Project2 on it dependencies 
package app; 

class LevelUsage{ 
    public void useMethod(){ 
     Level2 lvl = new Level2(); 
     System.out.println(lvl.lvl2Var); //Compiles correctly 
     System.out.println(lvl.lvl1Var); //Compilation ERROR 
    } 
} 

Я понимаю, что это нормально, чтобы это произошло, поскольку Project1 не на Project3 пути к классам. Хотя, я говорю о гораздо более сложном иерархическом дереве, и я не хочу, чтобы проект высокого уровня добавлял все дерево подзависимости под ним.

Есть ли способ (в или из) netbeans, который позволяет мне хранить все зависимые от проектов зависимости внутри себя? Например, создайте пакет Project2, содержащий все Project1, чтобы он был виден для всех, кто импортирует Project2.

Заранее благодарен!

ответ

0

Я верю, что вы должны здесь делать эти проекты индивидуально и создавать файлы jar для каждого из них. Затем просто добавьте их в файл Libraries для проекта, так что вам нужно только вызвать import packageName.

Другим вариантом было бы добавить весь проект для проекта 1 в проект 2 под другим пакетом, тогда он должен быть указан в одном файле jar, а затем вам нужно будет импортировать только тот пакет, к которому он относится, для ссылки на проект 1 объектов и объектов проекта 2. Или у вас есть один пакет, в котором есть оба проекта, так что у вас есть один импорт, который удовлетворяет ваши потребности несколькими файлами классов.

+0

Точка, которую я хочу избежать, это именно то, что 'Project3' должен иметь' Project2.jar' ** AND ** 'Project1.jar'on свой путь к классам. Я ищу способ, который, добавляя 'Project2.jar', неявно предоставляет вам контент' Project1'. – Netto

+0

Единственный действительно умный способ сделать это - по существу поставить все файлы, которые, по вашему мнению, вам понадобятся в одном месте. поэтому JDK 1.8 является целым файлом, который Netbeans просматривает в полном объеме. Вы можете просто указать свой файл библиотеки в папку, содержащую две банки, но встроенные банки вложенности в банку без их распаковки - это не то, о чем я знаю. – chacliff

+0

Я добавил дополнительную информацию к сообщению выше – chacliff

Смежные вопросы