【问题标题】:What is the correct way to specify a main class when packaging a jar using m2eclipse?使用 m2eclipse 打包 jar 时指定主类的正确方法是什么?
【发布时间】:2011-09-12 19:04:27
【问题描述】:

问题: 我想在我使用 m2eclipse 打包的 jar 文件中指定主类:[右键单击] -> 运行方式 -> Maven 包。我仍在学习 Maven,根据我所阅读的内容,完成此任务的直接方法是在 pom.xml 中添加一个节。
以下是我在研究此问题时发现的示例:

我的问题是: 可以使用文本编辑器在 Eclipse/m2eclipse 之外手动编辑 pom.xml 文件,还是应该使用 m2ecplise GUI 进行此配置?有几个选项卡式对话框看起来可能是此任务的候选对象,例如“插件”和“构建”。我查看了 Sonatype 的文档,找不到任何关于如何完成我需要做的事情的详细说明。

我对手动编辑 pom.xml 有点犹豫,因为我注意到“Effective POM”中已经有很多额外的东西,包括需要添加到其中的插件定义:

<plugin>
    <artifactId>maven-jar-plugin</artifactId>
    <version>2.3.1</version>
    <executions>
      <execution>
        <id>default-jar</id>
        <phase>package</phase>
        <goals>
          <goal>jar</goal>
        </goals>
      </execution>
    </executions>
  </plugin>

如果我理解正确,Effective POM 需要更改,以便插件配置如下:

<plugin>
    <artifactId>maven-jar-plugin</artifactId>
    <version>2.3.1</version>
    <executions>
      <execution>
        <id>default-jar</id>
        <phase>package</phase>
        <goals>
          <goal>jar</goal>
        </goals>
      </execution>
    </executions>
    <configuration>
    <archive>
    <manifest>
         <mainClass>[name of main class]</mainClass>
         <packageName>[package name]</packageName>
    </manifest>
        <manifestEntries>
            <mode>development</mode>
            <url>${pom.url}</url>
    </manifestEntries>
    </archive>
    </configuration>
  </plugin>

这是对的吗?如果是这样,我是通过 m2eclipse 执行此操作,还是应该复制所有额外的 Effective POM 内容并使用文本编辑器将其粘贴到实际的 pom.xml 中?

感谢任何能提供一些启示的人。

更新:我继续在文本编辑器中手动编辑了 pom.xml 文件。当我在 m2eclipse 中查看 Effective POM 时,它显示了我放入的所有内容(我假设)。我构建了 jar 并且正确设置了主类。

不过,这对我来说似乎是一个 hack。有谁知道是否有办法使用 m2eclipse 本身进行此配置?我检查了 m2eclipse 选项卡,由于我手动编辑 pom.xml(有效 POM 选项卡除外),似乎没有任何更新。

【问题讨论】:

    标签: eclipse eclipse-plugin m2eclipse maven-eclipse-plugin


    【解决方案1】:

    m2eclipse 不会为您做所有事情,即没有漂亮的 UI 选项卡来处理所有事情

    我的团队最喜欢手动编辑 POM,并使用其他选项卡进行验证(如有效 POM 视图)。

    【讨论】:

    • 嗨,约翰,谢谢,这就是我需要知道的。我现在开始学习 Maven,并将继续手动完成大部分配置。很高兴知道我没有遗漏任何东西,也没有破解不应该直接编辑的文件。
    猜你喜欢
    • 2018-05-31
    • 2021-05-09
    • 1970-01-01
    • 2021-03-03
    • 1970-01-01
    • 2014-12-14
    • 1970-01-01
    • 2018-04-28
    • 1970-01-01
    相关资源
    最近更新 更多