原型选择使用m2eclipse

时间:2011-08-15 22:48:23

标签: java maven m2eclipse nexus maven-archetype

我想使用New Maven Project向导使用原型在Eclipse中创建一个新的Maven项目。在“选择原型”步骤中,我有三个目录可供选择:Nexus IndexerInternalDefault Local。我不明白这些目录的内容应该来自哪里。如果我点击“配置”按钮,它们都会变灰,我无法修改它们。

只有Internal目录中列出了任何原型。这些原型来自哪里?它不是来自我的本地Maven存储库,因为组/工件不在其中(并且未列出repo中的原型)。

为什么Nexus Indexer列表为空?我已经阅读了一些Nexus索引需要更新的帖子,但不知道如何更新。这与存储库索引(计划每天更新)不同。

正如您所看到的,我对整个目录业务以及Maven,m2eclipse和Nexus如何互动感到有些困惑。任何澄清都是最受欢迎的!

我的设置:

  • Eclipse:Helios Service Release 2(构建ID:20110218-0911)
  • Apache Maven 3.0.3
  • m2eclipse:0.12.1.20110112-1712(设置为使用外部Maven安装)
  • Sonatype Nexus™开源版,版本:1.9.0.2

我的本​​地Maven settings.xml如下所示:

<settings>
  <mirrors>
    <mirror>
      <!--This sends everything else to /public -->
      <id>nexus</id>
      <mirrorOf>*</mirrorOf>
      <url>http://myserver:8080/nexus/content/groups/public</url>
    </mirror>
  </mirrors>
  <profiles>
    <profile>
      <id>nexus</id>
      <!--Enable snapshots for the built in central repo to direct -->
      <!--all requests to nexus via the mirror -->
      <repositories>
        <repository>
          <id>central</id>
          <url>http://central</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </repository>
      </repositories>
     <pluginRepositories>
        <pluginRepository>
          <id>central</id>
          <url>http://central</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  </profiles>       
  <activeProfiles>
    <!--make the profile active all the time -->
    <activeProfile>nexus</activeProfile>
  </activeProfiles>
  <servers>
      <server>
          <id>my-snapshots</id>
          <username>user</username>
          <password>password</password>
      </server>
      <server>
          <id>my-releases</id>
          <username>user</username>
          <password>password</password>
      </server>
  </servers>
</settings>

1 个答案:

答案 0 :(得分:0)

默认原型目录可以包含新的原型。这是一个手动过程,您需要将它们添加到〜/ .m2目录中的自定义.xml文件中。

有关详细信息:http://maven.apache.org/archetype/maven-archetype-plugin/specification/archetype-catalog.html

供参考,这是一个模板archetype-catalog.xml

<?xml version="1.0" encoding="UTF-8"?>
<archetype-catalog>
  <archetypes>
    <archetype>
      <groupId>com.spedge</groupId>
      <artifactId>archetype-application-custom-filter</artifactId>
      <version>1.0-SNAPSHOT</version>
    </archetype>
  </archetypes>
</archetype-catalog>

此外,这里有关于Archetypes的良好链接:What are the URLs of all the Maven Archetype catalogs that you know about?