从eclipse部署ejb maven项目

时间:2014-04-03 12:32:59

标签: maven ejb ear eclipse-wtp

我面临一个奇怪的问题,并且无法找到有人在eclipse中创建maven ear-ejb项目的相同行为。

我有一个看起来像这样的父pom:

<modules>
    <module>ear</module>
    <module>ejb</module>
</modules>

<build>
    <plugins>
        <plugin>
            <artifactId>maven-eclipse-plugin</artifactId>
            <configuration>
                <wtpversion>2.0</wtpversion>
            </configuration>
        </plugin>

        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
    </plugins>
</build>

来自ejb项目的pom.xml:

<build>
    <sourceDirectory>ejbModule</sourceDirectory>
    <resources>
        <resource>
            <directory>ejbResources</directory>
        </resource>
        <resource>
            <directory>ejbModule</directory>
            <excludes>
                <exclude>**/*.java</exclude>
            </excludes>
        </resource>
    </resources>
    <plugins>
        <plugin>
            <artifactId>maven-ejb-plugin</artifactId>
            <version>2.3</version>
            <configuration>
                <ejbVersion>3.1</ejbVersion>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
    </plugins>
</build>

<dependencies>
    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-api</artifactId>
        <version>6.0</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>3.2.4.RELEASE</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

最后是耳朵项目的pom.xml:

<build>
    <plugins>
        <plugin>
            <artifactId>maven-ear-plugin</artifactId>
            <version>2.8</version>
            <configuration>
                <version>6</version>
                <defaultLibBundleDir>lib</defaultLibBundleDir>
                <modules>
                    <ejbModule>
                        <groupId>com.coba.test</groupId>
                        <artifactId>jms-test-ejb</artifactId>
                        <uri>jms-test-ejb.jar</uri>
                    </ejbModule>
                </modules>
            </configuration>
        </plugin>
    </plugins>
</build>

<dependencies>

    <dependency>
        <groupId>com.coba.test</groupId>
        <artifactId>jms-test-ejb</artifactId>
        <version>${project.version}</version>
        <type>ejb</type>
    </dependency>
</dependencies>

在项目上运行mvn eclipse:eclipse时,我可以将它们作为现有项目导入,所有性质和参考都可以。当我运行mvn clean package并将耳朵部署到服务器(在websphere 8,jboss 7和8上测试)时,应用程序(单个mdb)启动并按预期运行。但是当我尝试从eclipse中运行项目时,没有找到已发布的依赖项中的类。当查看项目的部署程序集时(它应该如何)所有依赖项都列在ear项目中,并且它们都不会出现在ejb项目中。我看了一下maven-eclipse-plugin,它明确地将已部署的组件写入ear项目,所以我认为这是应该的方式。但是当我手动将类路径条目添加到部署程序集到ejb项目时,应用程序将被部署并启动而不会出现任何问题。

这是我的项目设置问题还是maven-eclipse-plugin错误?有人自己有这个问题吗?

阅读的Thx 马库斯

编辑:

我没有使用m2eclipse插件。

0 个答案:

没有答案
相关问题