Статьи

Бэкэнд EJB с внешним интерфейсом RCP NetBeans на Maven


«EJB Backend с интерфейсом NetBeans RCP» звучит довольно просто, верно?
Я тоже так думал изначально. К сожалению, есть несколько неприятных и не очень маленьких ударов, которые превращают это из поездки в магазины куда-то на ралли на крыше Африки!


Первый шаг прост, давайте использовать прилагаемый сервер приложений GlassFish …


И там проходит расстраивающая пара часов / дней / недель вашей жизни.
Позволь мне объяснить.
 

У GlassFish есть клиентский JAR (
$ GLASSFISH_HOME / modules / gf-client.jar ), который вы должны включить в свое приложение для подключения к EJB-серверу. Все это прекрасно работает, когда вы тестируете свои
общедоступные статические основные тесты void , однако следует отметить несколько моментов, которые не сразу проявятся на вашей машине для разработки:
 
  • gf-client.jar — это просто мета-jar, все, что он делает, ссылается на другие JAR-файлы, которые, в свою очередь, могут ссылаться на другие JAR-файлы до бесконечности.
  • В тот момент, когда вы снимаете тестовое приложение с компьютера, оно не будет работать. По всей вероятности, вы включили gf-client.jar, но вы не включили все его ссылки. Это означает, что вам нужно установить GlassFish App Server на все компьютеры, на которые вы хотите установить программное обеспечение, или выяснить, что такое дерево зависимостей. (Я сэкономлю вам немного времени, это почти то же самое, что и установка. Вы получаете все файлы, которые включены в полную установку.)
  • После того, как вы все это выясните, ваше приложение NetBeans все равно не будет работать. Зачем? Читайте здесь и здесь, чтобы понять проблему.

Хорошо, давайте вернем это шоу в дорогу. Что нам понадобится, чтобы заставить это работать?

  1. NetBeans
  2. специалист
  3. JBoss
  4. Терпение

Настройка клиентских библиотек JBoss


Прежде всего, вам нужно найти все зависимости клиента JBoss и создать из них артефакт Maven.
К счастью, мне не нужно было этого делать, кто-то уже понял это
для меня .
 

Вот файл pom:
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemalocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
        <modelversion>4.0.0</modelversion>
        <groupid>sparg.tim</groupid>
        <artifactid>JBossClientLibraries</artifactid>
        <packaging>jar</packaging>
        <version>5.10</version>
        <name>JBossClientLibraries</name>
        <url>http://maven.apache.org</url>
        <dependencies>
            <dependency>
                <groupid>org.jboss.javaee</groupid>
                <artifactid>jboss-javaee</artifactid>
                <version>5.0.1.GA</version>
            </dependency>
            <dependency>
                <groupid>org.hibernate</groupid>
                <artifactid>hibernate-annotations</artifactid>
                <version>3.4.0.GA</version>
                <exclusions>
                    <exclusion>
                        <groupid>org.hibernate</groupid>
                        <artifactid>hibernate-commons-annotations</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.hibernate</groupid>
                        <artifactid>hibernate-core</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>dom4j</groupid>
                        <artifactid>dom4j</artifactid>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupid>org.jboss.naming</groupid>
                <artifactid>jnp-client</artifactid>
                <version>5.0.3.GA</version>
            </dependency>
            <dependency>
                <groupid>oswego-concurrent</groupid>
                <artifactid>concurrent</artifactid>
                <version>1.3.4-jboss-update1</version>
            </dependency>
            <dependency>
                <groupid>org.jboss.ejb3</groupid>
                <artifactid>jboss-ejb3-proxy-clustered</artifactid>
                <version>1.0.1</version>
                <classifier>client</classifier>
                <exclusions>
                    <exclusion>
                        <groupid>org.jboss.ejb3</groupid>
                        <artifactid>jboss-ejb3-proxy-impl</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.ejb3</groupid>
                        <artifactid>jboss-ejb3-proxy-spi</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.cluster</groupid>
                        <artifactid>jboss-ha-server-api</artifactid>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupid>org.jboss.ejb3</groupid>
                <artifactid>jboss-ejb3-proxy-spi</artifactid>
                <version>1.0.0</version>
                <classifier>client</classifier>
            </dependency>
            <dependency>
                <groupid>org.jboss.ejb3</groupid>
                <artifactid>jboss-ejb3-proxy-impl</artifactid>
                <version>1.0.2</version>
                <classifier>client</classifier>
                <exclusions>
                    <exclusion>
                        <groupid>org.jboss.aspects</groupid>
                        <artifactid>jboss-remoting-aspects</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.ejb3</groupid>
                        <artifactid>jboss-ejb3-common</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.ejb3</groupid>
                        <artifactid>jboss-ejb3-proxy-spi</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.ejb3</groupid>
                        <artifactid>jboss-ejb3-interceptors</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.metadata</groupid>
                        <artifactid>jboss-metadata</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.naming</groupid>
                        <artifactid>jnpserver</artifactid>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupid>org.jboss.ejb3</groupid>
                <artifactid>jboss-ejb3-core</artifactid>
                <version>1.1.5</version>
                <classifier>client</classifier>
                <exclusions>
                    <exclusion>
                        <groupid>javassist</groupid>
                        <artifactid>javassist</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.hibernate</groupid>
                        <artifactid>hibernate</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.hibernate</groupid>
                        <artifactid>hibernate-entitymanager</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.integration</groupid>
                        <artifactid>jboss-jca-spi</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss</groupid>
                        <artifactid>jboss-vfs</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.aop</groupid>
                        <artifactid>jboss-aop</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.aop</groupid>
                        <artifactid>jboss-aop-aspects</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.cache</groupid>
                        <artifactid>jbosscache-core</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.ejb3</groupid>
                        <artifactid>jboss-ejb3-cache</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.ejb3</groupid>
                        <artifactid>jboss-ejb3-endpoint</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.ejb3</groupid>
                        <artifactid>jboss-ejb3-security</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.ejb3</groupid>
                        <artifactid>jboss-ejb3-timerservice-spi</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.ejb3</groupid>
                        <artifactid>jboss-ejb3-ext-api-impl</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.ejb3</groupid>
                        <artifactid>jboss-ejb3-metadata</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.ejb3</groupid>
                        <artifactid>jboss-ejb3-proxy-clustered</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.ejb3</groupid>
                        <artifactid>jboss-ejb3-transactions</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.javaee</groupid>
                        <artifactid>jboss-ejb-api</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.javaee</groupid>
                        <artifactid>jboss-jacc-api</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.javaee</groupid>
                        <artifactid>jboss-jca-api</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.javaee</groupid>
                        <artifactid>jboss-jms-api</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.jpa</groupid>
                        <artifactid>jboss-jpa-deployers</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.metadata</groupid>
                        <artifactid>jboss-metadata</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.microcontainer</groupid>
                        <artifactid>jboss-kernel</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.security</groupid>
                        <artifactid>jbosssx</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.ws</groupid>
                        <artifactid>jbossws-spi</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>quartz</groupid>
                        <artifactid>quartz</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>sun-jaxws</groupid>
                        <artifactid>jaxws-api</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>sun-jaxws</groupid>
                        <artifactid>jsr181-api</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.aspects</groupid>
                        <artifactid>jboss-remoting-aspects</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.cluster</groupid>
                        <artifactid>jboss-ha-server-api</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.ejb3</groupid>
                        <artifactid>jboss-ejb3-common</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.ejb3</groupid>
                        <artifactid>jboss-ejb3-interceptors</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.ejb3</groupid>
                        <artifactid>jboss-ejb3-proxy-impl</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.ejb3</groupid>
                        <artifactid>jboss-ejb3-proxy-spi</artifactid>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupid>org.jboss.remoting</groupid>
                <artifactid>jboss-remoting</artifactid>
                <version>2.5.1</version>
            </dependency>
            <dependency>
                <groupid>org.jboss.deployers</groupid>
                <artifactid>jboss-deployers-core-spi</artifactid>
                <version>2.0.7.GA</version>
            </dependency>
            <dependency>
                <groupid>org.jboss.deployers</groupid>
                <artifactid>jboss-deployers-core</artifactid>
                <version>2.0.7.GA</version>
            </dependency>
            <dependency>
                <groupid>org.jboss.jbossas</groupid>
                <artifactid>jboss-as-main</artifactid>
                <version>5.1.0.GA</version>
                <classifier>client</classifier>
                <exclusions>
                    <exclusion>
                        <groupid>org.jboss.bootstrap</groupid>
                        <artifactid>jboss-bootstrap</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>gnu-getopt</groupid>
                        <artifactid>getopt</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>log4j</groupid>
                        <artifactid>log4j</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.logbridge</groupid>
                        <artifactid>jboss-logbridge</artifactid>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupid>org.jboss.jbossas</groupid>
                <artifactid>jboss-as-j2se</artifactid>
                <version>5.1.0.GA</version>
                <exclusions>
                    <exclusion>
                        <groupid>org.jboss.integration</groupid>
                        <artifactid>jboss-classloading-spi</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>apache-xerces</groupid>
                        <artifactid>xml-apis</artifactid>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupid>org.jboss.ejb3</groupid>
                <artifactid>jboss-ejb3-ext-api</artifactid>
                <version>1.0.0</version>
                <exclusions>
                    <exclusion>
                        <groupid>org.jboss.javaee</groupid>
                        <artifactid>jboss-ejb-api</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.metadata</groupid>
                        <artifactid>jboss-metadata</artifactid>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupid>org.jboss.jbossas</groupid>
                <artifactid>jboss-as-server</artifactid>
                <version>5.1.0.GA</version>
                <classifier>client</classifier>
                <exclusions>
                    <exclusion>
                        <groupid>sun-jaxb</groupid>
                        <artifactid>jaxb-api</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.jbossas</groupid>
                        <artifactid>jboss-as-deployment</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.bootstrap</groupid>
                        <artifactid>jboss-bootstrap</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.integration</groupid>
                        <artifactid>jboss-deployment-spi</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.jpa</groupid>
                        <artifactid>jboss-jpa-deployers</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.security</groupid>
                        <artifactid>jbosssx</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>log4j</groupid>
                        <artifactid>log4j</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.jbossas</groupid>
                        <artifactid>jboss-as-system-jmx</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.jbossas</groupid>
                        <artifactid>jboss-as-jmx</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.jbossas</groupid>
                        <artifactid>jboss-as-system</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.integration</groupid>
                        <artifactid>jboss-transaction-spi</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.javaee</groupid>
                        <artifactid>jboss-jacc-api</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.javaee</groupid>
                        <artifactid>jboss-jms-api</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.ws.native</groupid>
                        <artifactid>jbossws-native-saaj</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.ws.native</groupid>
                        <artifactid>jbossws-native-jaxws</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>javax.security</groupid>
                        <artifactid>jaas</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.javaee</groupid>
                        <artifactid>jboss-jca-api</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>bcel</groupid>
                        <artifactid>bcel</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>jpl-util</groupid>
                        <artifactid>jpl-util</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>jpl-pattern</groupid>
                        <artifactid>jpl-pattern</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss</groupid>
                        <artifactid>jbossxb</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.naming</groupid>
                        <artifactid>jnp-server</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>gnu-getopt</groupid>
                        <artifactid>getopt</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.metadata</groupid>
                        <artifactid>jboss-metadata</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.javaee</groupid>
                        <artifactid>jboss-ejb-api</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.naming</groupid>
                        <artifactid>jnpserver</artifactid>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupid>org.jboss.ejb3</groupid>
                <artifactid>jboss-ejb3-security</artifactid>
                <version>1.0.0</version>
                <classifier>client</classifier>
                <exclusions>
                    <exclusion>
                        <groupid>org.jboss.aspects</groupid>
                        <artifactid>jboss-current-invocation-aspects</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.ejb3</groupid>
                        <artifactid>jboss-ejb3-interceptors</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.security</groupid>
                        <artifactid>jbosssx</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.javaee</groupid>
                        <artifactid>jboss-jacc-api</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.ejb3</groupid>
                        <artifactid>jboss-ejb3-ext-api-impl</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.aop</groupid>
                        <artifactid>jboss-aop</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.ejb3</groupid>
                        <artifactid>jboss-ejb3-metadata</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.metadata</groupid>
                        <artifactid>jboss-metadata</artifactid>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupid>org.jboss.security</groupid>
                <artifactid>jbosssx-client</artifactid>
                <version>2.0.3.SP1</version>
            </dependency>
            <dependency>
                <groupid>org.jboss.deployers</groupid>
                <artifactid>jboss-deployers-client</artifactid>
                <version>2.0.7.GA</version>
            </dependency>
            <dependency>
                <groupid>org.jboss.deployers</groupid>
                <artifactid>jboss-deployers-client-spi</artifactid>
                <version>2.0.7.GA</version>
                <exclusions>
                    <exclusion>
                        <groupid>org.jboss.man</groupid>
                        <artifactid>jboss-managed</artifactid>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupid>org.jboss.jbossas</groupid>
                <artifactid>jboss-as-system-jmx</artifactid>
                <version>5.1.0.GA</version>
                <classifier>client</classifier>
                <exclusions>
                    <exclusion>
                        <groupid>apache-xerces</groupid>
                        <artifactid>xml-apis</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss</groupid>
                        <artifactid>jboss-vfs</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss</groupid>
                        <artifactid>jbossxb</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.deployers</groupid>
                        <artifactid>jboss-deployers-impl</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.deployers</groupid>
                        <artifactid>jboss-deployers-structure-spi</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.deployers</groupid>
                        <artifactid>jboss-deployers-vfs</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.deployers</groupid>
                        <artifactid>jboss-deployers-vfs-spi</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.bootstrap</groupid>
                        <artifactid>jboss-bootstrap</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.jbossas</groupid>
                        <artifactid>jboss-as-system</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.jbossas</groupid>
                        <artifactid>jboss-as-jmx</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.microcontainer</groupid>
                        <artifactid>jboss-dependency</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.microcontainer</groupid>
                        <artifactid>jboss-kernel</artifactid>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupid>org.jboss.slf4j</groupid>
                <artifactid>slf4j-jboss-logging</artifactid>
                <version>1.0.2.GA</version>
            </dependency>
            <dependency>
                <groupid>org.jboss.logging</groupid>
                <artifactid>jboss-logging-jdk</artifactid>
                <version>2.1.0.GA</version>
            </dependency>
            <dependency>
                <groupid>org.jboss.logging</groupid>
                <artifactid>jboss-logging-log4j</artifactid>
                <version>2.1.0.GA</version>
                <exclusions>
                    <exclusion>
                        <groupid>log4j</groupid>
                        <artifactid>log4j</artifactid>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupid>org.jboss.logging</groupid>
                <artifactid>jboss-logging-spi</artifactid>
                <version>2.1.0.GA</version>
            </dependency>
            <dependency>
                <groupid>org.jboss.ejb3</groupid>
                <artifactid>jboss-ejb3-common</artifactid>
                <version>1.0.0</version>
                <classifier>client</classifier>
                <exclusions>
                    <exclusion>
                        <groupid>org.jboss.microcontainer</groupid>
                        <artifactid>jboss-kernel</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.metadata</groupid>
                        <artifactid>jboss-metadata</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.deployers</groupid>
                        <artifactid>jboss-deployers-spi</artifactid>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupid>org.jboss.jbossas</groupid>
                <artifactid>jboss-as-server</artifactid>
                <version>5.1.0.GA</version>
                <classifier>jmx-invoker-adaptor-client</classifier>
                <exclusions>
                    <exclusion>
                        <groupid>sun-jaxb</groupid>
                        <artifactid>jabx-api</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.jbossas</groupid>
                        <artifactid>jboss-as-deployment</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.bootstrap</groupid>
                        <artifactid>jboss-bootstrap</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.integration</groupid>
                        <artifactid>jboss-deployment-spi</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.jpa</groupid>
                        <artifactid>jbopss-jpa-deployers</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.security</groupid>
                        <artifactid>jbosssx</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.metadata</groupid>
                        <artifactid>jboss-metadata</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>log4j</groupid>
                        <artifactid>log4j</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.jbossas</groupid>
                        <artifactid>jboss-as-system-jmx</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.jbossas</groupid>
                        <artifactid>jboss-as-jmx</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.jbossas</groupid>
                        <artifactid>jboss-as-system</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.javaee</groupid>
                        <artifactid>jboss-ejb-api</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.jbossas</groupid>
                        <artifactid>jboss-as-security</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.integration</groupid>
                        <artifactid>jboss-transaction-spi</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.javaee</groupid>
                        <artifactid>jboss-jacc-api</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.jbossas</groupid>
                        <artifactid>jboss-jms-api</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.ws.native</groupid>
                        <artifactid>jbossws-native-saaj</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.ws.native</groupid>
                        <artifactid>jbossws-native-jaxws</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>javax.security</groupid>
                        <artifactid>jaas</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.javaee</groupid>
                        <artifactid>jboss-jca-api</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>bcel</groupid>
                        <artifactid>bcel</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>jpl-util</groupid>
                        <artifactid>jpl-util</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>jpl-pattern</groupid>
                        <artifactid>jpl-pattern</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss</groupid>
                        <artifactid>jbossxb</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.naming</groupid>
                        <artifactid>jnpserver</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>gnu-getopt</groupid>
                        <artifactid>getopt</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>sun-jaxb</groupid>
                        <artifactid>jaxb-api</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.jpa</groupid>
                        <artifactid>jboss-jpa-deployers</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.javaee</groupid>
                        <artifactid>jboss-jms-api</artifactid>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupid>org.jboss.jbossas</groupid>
                <artifactid>jboss-as-management</artifactid>
                <version>5.1.0.GA</version>
                <classifier>jsr77-client</classifier>
                <exclusions>
                    <exclusion>
                        <groupid>org.jboss.deployers</groupid>
                        <artifactid>jboss-deployers-vfs</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.microcontainer</groupid>
                        <artifactid>jboss-kernel</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.cl</groupid>
                        <artifactid>jboss-classloading-vfs</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.jbossas</groupid>
                        <artifactid>jboss-as-server</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.jbossas</groupid>
                        <artifactid>jboss-as-system</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.cluster</groupid>
                        <artifactid>jboss-ha-server-api</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.bootstrap</groupid>
                        <artifactid>jboss-bootstrap</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.jbossas</groupid>
                        <artifactid>jboss-as-connector</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.jbossas</groupid>
                        <artifactid>jboss-as-cluster</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>apache-xerces</groupid>
                        <artifactid>xml-apis</artifactid>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupid>org.jboss.jbossas</groupid>
                <artifactid>jboss-as-iiop</artifactid>
                <version>5.1.0.GA</version>
                <classifier>client</classifier>
                <exclusions>
                    <exclusion>
                        <groupid>apache-avalon</groupid>
                        <artifactid>avalon-framework</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>apache-xerces</groupid>
                        <artifactid>xml-apis</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>jacorb</groupid>
                        <artifactid>jacorb</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>javax.security</groupid>
                        <artifactid>jaas</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>javax.transcation</groupid>
                        <artifactid>jta</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>log4j</groupid>
                        <artifactid>log4j</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.integration</groupid>
                        <artifactid>jboss-classloading-spi</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.integration</groupid>
                        <artifactid>jboss-corba-ots-spi</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.integration</groupid>
                        <artifactid>jboss-transaction-spi</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.javaee</groupid>
                        <artifactid>jboss-ejb-api</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.jbossas</groupid>
                        <artifactid>jboss-as-main</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.jbossas</groupid>
                        <artifactid>jboss-as-server</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.jbossas</groupid>
                        <artifactid>jboss-as-security</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.jbossas</groupid>
                        <artifactid>jboss-as-system</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.jbossas</groupid>
                        <artifactid>jboss-as-system-jmx</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.metadata</groupid>
                        <artifactid>jboss-metadata</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>javax.transaction</groupid>
                        <artifactid>jta</artifactid>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupid>org.jboss.cluster</groupid>
                <artifactid>jboss-ha-client</artifactid>
                <version>1.1.1.GA</version>
                <exclusions>
                    <exclusion>
                        <groupid>org.jboss.aspects</groupid>
                        <artifactid>jboss-remoting-aspects</artifactid>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupid>org.jboss.jbossas</groupid>
                <artifactid>jboss-as-cluster</artifactid>
                <version>5.1.0.GA</version>
                <classifier>jboss-ha-legacy-client</classifier>
                <exclusions>
                    <exclusion>
                        <groupid>log4j</groupid>
                        <artifactid>log4j</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.jbossas</groupid>
                        <artifactid>jboss-as-server</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>jgroups</groupid>
                        <artifactid>jgroups</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.cluster</groupid>
                        <artifactid>jboss-ha-server-api</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.cluster</groupid>
                        <artifactid>jboss-ha-server-cache-spi</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.cluster</groupid>
                        <artifactid>jboss-ha-server-jbc</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.cluster</groupid>
                        <artifactid>jboss-ha-server-cache-jbc</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.jbossas</groupid>
                        <artifactid>jboss-as-system-jmx</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.jbossas</groupid>
                        <artifactid>jboss-as-system</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.bootstrap</groupid>
                        <artifactid>jboss-bootstrap</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>javax.transaction</groupid>
                        <artifactid>jta</artifactid>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupid>org.slf4j</groupid>
                <artifactid>slf4j-api</artifactid>
                <version>1.5.6</version>
            </dependency>
            <dependency>
                <groupid>org.jboss.aop</groupid>
                <artifactid>jboss-aop</artifactid>
                <version>2.1.1.GA</version>
                <classifier>client</classifier>
                <exclusions>
                    <exclusion>
                        <groupid>apache-xerces</groupid>
                        <artifactid>xml-apis</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.apache.ant</groupid>
                        <artifactid>ant</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>javassist</groupid>
                        <artifactid>javassist</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss</groupid>
                        <artifactid>jboss-reflect</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>qdox</groupid>
                        <artifactid>qdox</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>trove</groupid>
                        <artifactid>trove</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>log4j</groupid>
                        <artifactid>log4j</artifactid>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupid>org.jboss</groupid>
                <artifactid>jboss-common-core</artifactid>
                <version>2.2.14.GA</version>
            </dependency>
            <dependency>
                <groupid>org.jboss.security</groupid>
                <artifactid>jboss-security-spi</artifactid>
                <version>2.0.3.SP1</version>
            </dependency>
            <dependency>
                <groupid>org.jboss</groupid>
                <artifactid>jboss-mdr</artifactid>
                <version>2.0.1.GA</version>
                <exclusions>
                    <exclusion>
                        <groupid>org.jboss</groupid>
                        <artifactid>jboss-reflect</artifactid>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupid>org.jboss.client</groupid>
                <artifactid>jboss-client</artifactid>
                <version>5.1.0.CR1</version>
            </dependency>
            <dependency>
                <groupid>org.apache</groupid>
                <artifactid>xmlsec</artifactid>
                <version>1.4.2</version>
            </dependency>
            <dependency>
                <groupid>commons-logging</groupid>
                <artifactid>commons-logging</artifactid>
                <version>1.1.0.jboss</version>
            </dependency>
            <dependency>
                <groupid>org.jboss.integration</groupid>
                <artifactid>jboss-integration</artifactid>
                <version>5.1.0.GA</version>
            </dependency>
            <dependency>
                <groupid>jboss.messaging</groupid>
                <artifactid>jboss-messaging</artifactid>
                <version>1.4.3.GA</version>
            </dependency>
            <dependency>
                <groupid>jboss</groupid>
                <artifactid>jboss-serialization</artifactid>
                <version>1.0.3.GA</version>
            </dependency>
            <dependency>
                <groupid>org.hibernate</groupid>
                <artifactid>ejb3-persistence</artifactid>
                <version>1.0.2.GA</version>
            </dependency>
            <dependency>
                <groupid>org.jboss.aspects</groupid>
                <artifactid>jboss-remoting-aspects</artifactid>
                <version>1.0.2</version>
                <exclusions>
                    <exclusion>
                        <groupid>org.jboss.aop</groupid>
                        <artifactid>jboss-aop</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.microcontainer</groupid>
                        <artifactid>jboss-kernel</artifactid>
                    </exclusion>
                    <exclusion>
                        <groupid>org.jboss.security</groupid>
                        <artifactid>jbosssx</artifactid>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupid>javassist</groupid>
                <artifactid>javassist</artifactid>
                <version>3.10.0.GA</version>
            </dependency>
        </dependencies>
         
        <build>
            <plugins>
                <plugin>
                    <artifactid>maven-assembly-plugin</artifactid>
                    <configuration>
                        <descriptorrefs>
                            <descriptorref>jar-with-dependencies</descriptorref>
                        </descriptorrefs>
                        <appendassemblyid>false</appendassemblyid>
                        <finalname>JBossClientLibraries-5.10-full</finalname>
                    </configuration>
                    <executions>
                        <execution>
                            <id>make-my-jar-with-dependencies</id>
                            <phase>package</phase>
                            <goals>
                                <goal>single</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    </project>


Даже здесь все не так просто.
(Если кто-то знает лучший способ сделать следующий раздел, пожалуйста, скажите мне.)
 

Мы должны взять на себя
«JBossClientLibraries-5,10-full.jar» и редактировать его , чтобы удалить все из «/ Maven META-INF» папки , кроме
ваших деталей артефакт. Так что в моем примере будет удалено все, кроме папки «sparg.tim» и ее содержимого.
 

Теперь мы можем установить это в хранилище как артефакт.

Создать Maven EJB Project


После этой начальной настройки все становится так, как должно быть — просто!



Новый проект -> Модуль Maven EJB:



Не забудьте установить версию Java EE на 5, так как JBoss еще не поддерживает EE 6.


Перейти файл -> новый -> Session Bean:



Создать бизнес-метод:


Класс HelloBean:
package sparg.tim.simpleejb;
 
import javax.ejb.Stateless;
 
/**
 *
 * @author tsparg
 */
@Stateless
public class HelloBean implements HelloBeanRemote {
 
    public String getMessage() {
        return "Hello Netbeans";
    }
}
 

Класс HelloBeanRemote:
package sparg.tim.simpleejb;
 
import javax.ejb.Remote;
 
/**
 *
 * @author tsparg
 */
@Remote
public interface HelloBeanRemote {
 
    String getMessage();
     
}

Щелкните правой кнопкой мыши свой проект -> свойства -> запустить и выберите сервер приложений JBoss.

 

Теперь вы можете запустить проект EJB.

Создать приложение на платформе NetBeans


Файл -> Новый проект -> Maven -> Приложение Maven NetBeans:



Создайте проект модуля с приложением (в моем примере — JBossClient-core).

Перейдите к модулю ядра и добавьте зависимость — это будет артефакт, который мы создали в самом начале.




Проделайте ту же процедуру с модулем EJB, который вы только что создали, на этот раз вы сможете просто щелкнуть вкладку «Открыть проекты» и выбрать ее там.




Создайте новый TopComponent, новый -> Окно.
 

Сделайте это «Открыть при запуске приложения», в позиции редактора:




Я позвонил моему HelloTopComponent.


Перетащите кнопку и метку на экран



Дважды щелкните кнопку, чтобы получить ее ActionHandler.


Соответствующий код выглядит следующим образом:
   private void btnGetMessageActionPerformed(java.awt.event.ActionEvent evt) {
        Properties props = new Properties();
        Properties properties = new Properties();
        properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
        properties.put(Context.PROVIDER_URL, "127.0.0.1:1099");
        InitialContext ctx;
        try {
            ctx = new InitialContext(properties);
            HelloBeanRemote remote = (HelloBeanRemote) ctx.lookup("HelloBean/remote-sparg.tim.simplejb.HelloBeanRemote");
            lblOutput.setText(remote.getMessage());
            System.out.println(remote.getMessage());
        } catch (NamingException ex) {
            Exceptions.printStackTrace(ex);
        }
    }


Важно отметить, что эта строка:
HelloBeanRemote remote =         
    (HelloBeanRemote) ctx.lookup( 
     "HelloBean/remote-sparg.tim.simplejb.HelloBeanRemote");

… скорее всего будет выглядеть по-другому в вашей системе.


Теперь, если вам удалось сделать это правильно, и вы
проявили большое терпение — когда вы нажмете кнопку «getMessage», вы получите этот ой такой приятный экран:


Хотя мне потребовалось гораздо больше времени, чтобы понять, чем я мог бы предположить, но я очень рад, что все работает.
 

Было бы неплохо, чтобы GlassFish работал в той роли, которую сейчас выполняет JBoss — исключительно из-за более тесной интеграции между GlassFish и сообществами NetBeans.