Загрузка банок во время выполнения - PullRequest
2 голосов
/ 19 июля 2011

У меня есть comm.jar и RXTXComm.jar для последовательной связи. У меня есть обе эти банки в моем классе пути.

Теперь, в зависимости от параметра конфигурации, я должен импортировать соответствующий jar во время выполнения. Пожалуйста, помогите мне в решении этой проблемы.

Ответы [ 3 ]

2 голосов
/ 19 июля 2011

Вы можете создать загрузчик классов и загрузить файл JAR.Стандартные загрузчики классов имеют все необходимые функции.

Хорошие учебные пособия / ссылки для начала:

1 голос
/ 19 июля 2011

Предполагая, что у них обоих есть суперкласс C

http://download.oracle.com/javase/1.4.2/docs/api/java/lang/Class.html#forName(java.lang.String) http://download.oracle.com/javase/1.4.2/docs/api/java/lang/Class.html#newInstance()

Class a;
if(foo)
    a = Class.forname("rxtx.somepackage.Someclass");
else
    a = Class.forname("comm.somepackage.SomeOtherclass");
C c = a.newInstance();
0 голосов
/ 19 июля 2011
CommDriver driver;
if (configA) {
    driver = (CommDriver) Class.forName("rxtx.driver.package").newInstance();
} else {
     driver = (CommDriver) Class.forName("com.sun.comm.Win32Driver").newInstance();
}
driver.initialize();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...