【问题标题】:JBoss maven archtype: webapp-ear deployment issueJBoss maven archtype:webapp-ear 部署问题
【发布时间】:2012-05-28 22:09:10
【问题描述】:

我使用 maven 原型“org.jboss.spec.archetypes:jboss-javaee6-webapp-ear-archetype”来生成代码。我启动了 JBoss 7,然后尝试从项目根目录进行部署。

mvn package
mvn jboss-as:deploy

打包成功。

但是,我在部署阶段收到以下错误消息:

[错误] 无法在项目 myProject-web 上执行目标:无法 解决项目的依赖关系 com.example:myProject-web:war:1.0-SNAPSHOT:找不到工件 com.example:myProject-ejb:jar:1.0-SNAPSHOT -> [帮助 1]

我尝试从项目根目录和 myProject-ear 文件夹打包。

我的环境:ubuntu 12.04、Oracle JDK 7、JBoss 7.1、Maven 3

非常感谢!

这是我打包后的项目结构(部分省略)

.
├── myProject-ear
│   ├── pom.xml
│   ├── src
│   │   └── main
│   │       └── application
│   │           └── META-INF
│   │               └── myProject-ds.xml
│   └── target
│       ├── application.xml
│       ├── maven-archiver
│       │   └── pom.properties
│       ├── myProject
│       │   ├── META-INF
│       │   │   ├── application.xml
│       │   │   └── myProject-ds.xml
│       │   ├── myProject-ejb-1.0-SNAPSHOT.jar => *** EJB JAR HAS GENERATED ***
│       │   └── myProject-web-1.0-SNAPSHOT.war => *** WAR HAS GENERATED ***
│       └── myProject.ear                      => *** EAR HAS GENERATED (contains other 2 archives) ***
├── myProject-ejb
│   ├── pom.xml
│   ├── src
│   └── target
│       ├── classes
│       │   ├── com
│       │   ├── import.sql
│       │   └── META-INF
│       │       ├── beans.xml
│       │       └── persistence.xml
│       ├── generated-sources
│       │   ├── annotations
│       │   └── test-annotations
│       ├── maven-archiver
│       │   └── pom.properties
│       ├── myProject-ejb-1.0-SNAPSHOT.jar    => *** EJB JAR HAS GENERATED ***
│       └── test-classes
│           ├── arquillian.xml
│           ├── com
│           │   └── example
│           │       └── test
│           │           └── MemberRegistrationTest.class
│           ├── META-INF
│           │   └── test-persistence.xml
│           └── test-ds.xml
├── myProject-web
│   ├── pom.xml
│   ├── src
│   └── target
│       ├── classes
│       │   └── com
│       ├── generated-sources
│       │   └── annotations
│       ├── maven-archiver
│       │   └── pom.properties
│       ├── myProject-web-1.0-SNAPSHOT
│       │   ├── index.html
│       │   ├── META-INF
│       │   ├── resources
│       │   └── WEB-INF
│       │       ├── beans.xml
│       │       ├── classes
│       │       │   └── com
│       │       │       └── example
│       │       ├── faces-config.xml
│       │       └── templates
│       │           └── default.xhtml
│       ├── myProject-web-1.0-SNAPSHOT.war => ***WAR HAS GENERATED***
│       └── surefire
├── pom.xml
└── README.md
}

【问题讨论】:

  • org.jboss.spec.archetypes:jboss-javaee6-webapp-ear-archetype 的哪个版本?顺便说一句:您是手动放置树结构还是使用工具?
  • 我使用了 linux 'tree' 命令。感谢您的答复。我自己想出了答案。

标签: maven deployment jboss7.x ear


【解决方案1】:

在 .m2 目录的 setting.xml 文件中添加以下行,然后重新启动您的 IDE。

<profiles>        
    <profile>
        <id>maven-profile</id>
        <repositories>
            <repository>
                <id>MavenCentral-1</id>
                <name>Maven Central Repository 1</name>
                <releases>
                    <updatePolicy>never</updatePolicy>
                </releases>
                <snapshots>
                    <enabled>false</enabled>
                </snapshots>                    
                <url>https://repo1.maven.org/maven2/</url>
            </repository>
            <repository>
                <id>MavenCentral-2</id>
                <name>Maven Central Repository 2</name>
                <releases>
                    <updatePolicy>never</updatePolicy>
                </releases>
                <snapshots>
                    <enabled>false</enabled>
                </snapshots>                    
                <url>https://repo.maven.apache.org/maven2/</url>
            </repository>
            <repository>
                <id>jboss-public-repository-group-1</id>
                <name>JBoss Public Maven Repository Group</name>
                <releases>
                    <updatePolicy>never</updatePolicy>
                </releases>
                <snapshots>
                    <updatePolicy>never</updatePolicy>
                </snapshots>                    
                <url>https://repository.jboss.org/nexus/content/groups/public</url>
            </repository>
        </repositories>
    </profile>
</profiles>

【讨论】:

    【解决方案2】:

    在尝试了更多之后,我发现了以下作品:

    mvn clean package jboss-as:deploy
    

    【讨论】: