Возникла следующая проблема. Существует EJB-проект, собирается ant-ом.
| Код | <?xml version="1.0" encoding="UTF-8"?>
<!-- ..... -->
<project basedir="../" default="all" name="name"> <target depends="init,compile" name="deploy"> <ejbjar basejarname="jarname" dependency="full" descriptordir="${dir.source}/META-INF" destdir="${dir.as}" genericjarsuffix=".jar" srcdir="${dir.output}" >
<classpath> <!-- ...... --> </classpath>
<dtd location="${dir.dtd}/jboss.dtd" publicid="-//JBoss//DTD JBOSS//EN"/>
<dtd location="${dir.dtd}/ejb-jar_2_0.dtd" publicid="-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN"/>
<support dir="${dir.source}" includes="**/jboss.xml"/> </ejbjar> </target>
<!-- ..... -->
</project>
|
ejbjar работает через зависимости. Тут на какой-то стадии появляется несколько классов, назовем их A.class, B.class, C.class. Непосредственных ссылок из бинов на них нет, вызываются они через Class.forName("A"). Поэтому, в результирующий jar таким образом они не попадают. Как быть. Поглядел доки, пробовал добавить следующее:
| Код | <include name="path/to/classes/*.class"/>
|
| Код | <include name="**/*A.class"/> <include name="**/*B.class"/> <include name="**/*C.class"/>
|
| Код | <include name="packet.subpacket.A"/> <include name="packet.subpacket.B"/> <include name="packet.subpacket.B"/>
|
Не помогает. Как быть?
ЗЫ. Есть конечно вариант в каком-нибудь бине объявить ссылки данного класса. Но это уж совсем дурное решение, так не хотелось бы. |