【问题标题】:Netbeans Maven Project Not adding Main Class to ManifestNetbeans Maven项目未将主类添加到清单
【发布时间】:2013-02-23 07:05:08
【问题描述】:

我遇到了与this 问题类似的问题。我已经尝试了列出的所有建议,但仍然不知所措。我的问题是我正在尝试构建一个 maven 项目并将其分发到其他机器,但是 jar 文件没有填充正确的 Manifest。每次构建和运行时,我都会收到以下错误:no main manifest attribute, in myjar.jar。我需要编辑某种配置文件吗?我只是不知道发生了什么事。我也尝试过this fix,但无济于事。

【问题讨论】:

    标签: java maven netbeans deployment netbeans-7


    【解决方案1】:

    您可以将其添加到项目的 pom 文件中,在 <project> 标签内:

    <build>
        <plugins>
            <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-jar-plugin</artifactId>
              <version>2.4</version>
              <configuration>
                  <archive>
                      <manifest>
                          <mainClass>your.main.class</mainClass>
                      </manifest>
                  </archive>
              </configuration>
          </plugin>
      </plugins>
    </build>
    

    【讨论】:

    • 您知道我必须使用多少这些技巧才能使 Netbeans Java Maven 项目像 Netbeans Java Ant 项目一样运行吗?他们为什么不让这更加无缝?
    • 不要试图让它看起来像蚂蚁。使用en.m.wikipedia.org/wiki/Convention_over_configuration 将您的软件保留为 maven 标准项目以避免自定义配置。
    • 你如何假设我创建了一个具有依赖关系的可分发 jar 文件?我需要一个包含依赖 jar 的 lib 文件夹,我需要一个包含该文件夹的类路径的可执行 jar,并且我需要该 jar 来知道主类是什么。对于 Maven 项目,这些功能都不是开箱即用的。与约定无关。
    【解决方案2】:

    另一种选择是使用maven shade plugin。与 tigran 显示的 maven jar plugin 不同,maven shade plugin 在生成的 jar 中包含您的依赖项。 该插件的示例用法是:

      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>2.0</version>
            <executions>
              <execution>
                <phase>package</phase>
                <goals>
                  <goal>shade</goal>
                </goals>
                <configuration>
                  <transformers>
                    <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                      <mainClass>your.main.Class</mainClass>
                    </transformer>
                  </transformers>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-25
      • 2013-07-15
      • 1970-01-01
      • 1970-01-01
      • 2014-07-21
      • 2011-02-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多