openshift:jar maven项目中没有主清单属性

时间:2019-09-18 14:38:51

标签: java maven openshift manifest minishift

我正在尝试使用openjdk8源到映像策略在minishift中部署Maven项目。该应用程序已构建和部署,但是在运行时失败,出现以下错误:

Starting the Java application using /opt/run-java/run-java.sh ...
exec java -javaagent:/opt/jolokia/jolokia.jar=config=/opt/jolokia/etc/jolokia.properties -XX:+UseParallelGC -XX:MinHeapFreeRatio=20 -XX:MaxHeapFreeRatio=40 -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -XX:MaxMetaspaceSize=100m -XX:+ExitOnOutOfMemoryError -cp . -jar /deployments/app-1.0-SNAPSHOT.jar
no main manifest attribute, in /deployments/app-1.0-SNAPSHOT.jar

我在pom.xml上有这个

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-jar-plugin</artifactId>
      <version>3.1.0</version>
      <configuration>
        <archive>
          <manifest>
            <mainClass>com.mypackage.MyClass</mainClass>
          </manifest>
        </archive>
      </configuration>
    </plugin>
  </plugins>
</build>

我认为在清单上添加清单清单就足够了。

我必须提供一个单独的清单文件吗? 我是否必须提供额外的VM参数来指定主类?如果是这样,我该如何在openshift中做到这一点?

还有其他更好的选择吗?

1 个答案:

答案 0 :(得分:2)

向您的部署配置中或通过Openshift用户界面添加新的环境变量JAVA_MAIN_CLASS

JAVA_MAIN_CLASS=com.mypackage.MyClass

那应该可以解决问题。