1

「org.codehaus.mojo.archetypes:ejb-jee5」の最新バージョンを使用して、Maven で EJB プロジェクトを作成しました。

次に、「mvn install」と「mvn eclipse:eclipse」と入力しました。

最後に、Eclipse で一般的な Java プロジェクトとしてインポートしましたが、プロジェクトは EJB 対応として認識されていません。

私は何を間違えましたか?

ありがとう

編集

アンサーの提案に従ってこれを試しましたが、機能しません

<build>
    <plugins>   
        <plugin>
            <artifactId>maven-eclipse-plugin</artifactId>
            <configuration>
                <buildcommands>
                    <buildcommand>org.eclipse.wst.common.project.facet.core.builder</buildcommand>
                    <buildcommand>org.eclipse.jdt.core.javabuilder</buildcommand>
                    <buildcommand>org.eclipse.wst.validation.validationbuilder</buildcommand>
                </buildcommands>
                <additionalProjectnatures>
                    <projectnature>org.eclipse.jem.workbench.JavaEMFNature</projectnature>
                    <projectnature>org.eclipse.wst.common.modulecore.ModuleCoreNature</projectnature>
                    <projectnature>eclipse.jdt.core.javanature</projectnature>
                    <projectnature>org.eclipse.wst.common.project.facet.core.nature</projectnature>
                </additionalProjectnatures>
            </configuration>
        </plugin>
    </plugins>
</build>

編集

どうやらこれらのビルダーと性質を .project に追加するだけでは十分ではありません。ファセットが有効になっていることを記述した xml ファイルも生成する必要があります。そのためには、「」タグの間に次のコードを追加する必要があります

<additionalProjectFacets>
    <jst.java>1.6</jst.java>
    <jst.ejb>3.0</jst.ejb>
</additionalProjectFacets>

ただし、これらの 4 行は「ビルドの失敗」を生成します

4

2 に答える 2

0

pom.xmlに必要な性質を追加できます(これがEclipseの世界での命名方法です)

Maven pom へのプロジェクト ネイチャーの追加を参照して、空の EJB プロジェクトを作成し、.project でネイチャーがどのように命名されているかを確認します (複数のネイチャーがある場合があります)。

于 2012-05-21T15:48:56.803 に答える
0

そのため、プロジェクトの性質を変更するだけでは十分ではないことがわかりました。アクティブ化されたファセットなどを説明する他のファイルも生成する必要があります。

これを EJB プロジェクトに追加すると、m2e なしの EJB として認識されます。

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-eclipse-plugin</artifactId>
                <configuration>
                    <additionalBuildcommands>
                        <buildCommand>
                            <name>org.eclipse.jdt.core.javabuilder</name>
                        </buildCommand>
                        <buildCommand>
                            <name>org.eclipse.wst.common.project.facet.core.builder</name>
                        </buildCommand>
                        <buildCommand>
                            <name>org.eclipse.wst.validation.validationbuilder</name>
                        </buildCommand>
                        <buildCommand>
                            <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
                            <arguments>
                                <LaunchConfigHandle>&lt;project&gt;/.settings/MavenBuilder.launch</LaunchConfigHandle>
                            </arguments>
                        </buildCommand>
                    </additionalBuildcommands>
                    <additionalProjectnatures>
                        <projectnature>org.eclipse.wst.common.project.facet.core.nature</projectnature>
                        <projectnature>org.eclipse.jdt.core.javanature</projectnature>
                        <projectnature>org.eclipse.wst.common.modulecore.ModuleCoreNature</projectnature>
                        <projectnature>org.eclipse.jem.workbench.JavaEMFNature</projectnature>
                    </additionalProjectnatures>
                    <additionalConfig>
                        <file>
                            <name>.settings/org.eclipse.wst.common.project.facet.core.xml</name>
                            <content>
                                <![CDATA[<faceted-project>
    <runtime name="my JBoss Runtime" />
    <fixed facet="jst.ejb" />
    <fixed facet="jst.java" />
    <installed facet="jst.java" version="6.0" />
    <installed facet="jst.ejb" version="3.0" />
</faceted-project>]]>
                            </content>
                        </file>
                        <file>
                            <name>.settings/org.eclipse.wst.common.component</name>
                            <content>
                                <![CDATA[
<project-modules id="moduleCoreId" project-version="1.5.0">
    <wb-module deploy-name="${project.artifactId}">
        <wb-resource deploy-path="/" source-path="/src/main/java" />
        <wb-resource deploy-path="/" source-path="/src/main/resources" />
        <property name="java-output-path" value="target/classes" />
    </wb-module>
</project-modules>]]>
                            </content>
                        </file>
                        <file>
                            <name>.checkstyle</name>
                            <content>
                                <![CDATA[<fileset-config file-format-version="1.2.0" simple-config="true">
    <fileset name="all" enabled="true" check-config-name="Myproject Checks" local="false">
        <file-match-pattern match-pattern="." include-pattern="true" />
    </fileset>
</fileset-config>]]>
                            </content>
                        </file>
                        <file>
                            <name>.settings/MavenBuilder.launch</name>
                            <content>
                                <![CDATA[<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType">
<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="$${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;launchConfigurationWorkingSet editPageId=&quot;org.eclipse.ui.resourceWorkingSetPage&quot; factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; label=&quot;working set&quot; name=&quot;working set&quot;&gt;&#13;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/acces-services/target/test-classes&quot; type=&quot;2&quot;/&gt;&#13;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/acces-services/target/classes&quot; type=&quot;2&quot;/&gt;&#13;&#10;&lt;/launchConfigurationWorkingSet&gt;}" />
<booleanAttribute key="org.eclipse.debug.core.capture_output" value="false" />
<booleanAttribute key="org.eclipse.debug.ui.ATTR_CONSOLE_OUTPUT_ON" value="false" />
<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false" />
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_BUILD_SCOPE" value="$${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;launchConfigurationWorkingSet editPageId=&quot;org.eclipse.ui.resourceWorkingSetPage&quot; factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; label=&quot;workingSet&quot; name=&quot;workingSet&quot;&gt;&#13;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/acces-services/src/test/resources&quot; type=&quot;2&quot;/&gt;&#13;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/acces-services/src/main/resources&quot; type=&quot;2&quot;/&gt;&#13;&#10;&lt;/launchConfigurationWorkingSet&gt;}" />
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${env.M2_HOME}\bin\mvn.bat" />
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,auto,clean" />
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="resources:resources resources:testResources --offline" />
<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true" />
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="$${workspace_loc:/acces-services}" />
</launchConfiguration>]]>
                            </content>
                        </file>
                    </additionalConfig>
                </configuration>
            </plugin>
        </plugins>
    </build>

サーバーランタイムが使用されていることを定義していることに注意してください。つまり、サーバーランタイムを事前に構成し、その名前を中に入れる必要があります。

于 2012-05-25T09:08:03.967 に答える