Maven没有在MANIFEST.MF中生成Main Class条目 - java

我正在尝试用Java构建一个项目,如果双击执行该项目将运行。那没有用,所以我用cmd进行了调试,清单中没有主类条目。

因此,我添加了此答案的内容(已通过我的应用程序):Missing Main-Class attibute in MANIFEST.MF in Maven generated jar file

我正在使用jenkins作为构建平台,并尝试使用mvn clean install和mvn clean package执行。

pom.xml:

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>de.progii</groupId>
  <artifactId>pong</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>pong</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-jar-plugin</artifactId>
        <version>3.1.1</version>
        <configuration>
          <archive>
            <manifest>
              <addClasspath>true</addClasspath>
              <mainClass>de.progii.pong.App</mainClass>
            </manifest>
          </archive>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

参考方案

我部分解决了这个问题。问题不是maven jar插件,而是它的詹金斯。它只是存档错误的构建。可供下载的工件似乎在maven jar插件执行此工作之前就已存档。如果我使用sftp连接到workspace / target文件夹,则可以在jenkins下载页面上下载与工件相同名称的工件,但可以成功执行!
编辑
通过对Jenkins的最新更新,它可以正常工作

无法从ArrayList <String>转换为List <Comparable> - java

当我写下面的代码时,编译器说 无法从ArrayList<String>转换为List<Comparable>private List<Comparable> get(){ return new ArrayList<String>(); } 但是当我用通配符编写返回类型时,代码会编译。private List&l…

合并List <T>和List <Optional <T >> - java

鉴于: List<Integer> integers = new ArrayList<>(Arrays.asList( 10, 12 )); List<Optional<Integer>> optionalIntegers = Arrays.asList( Optional.of(5), Optional.em…

实例化类型<?>的泛型类 - java

我正在为SCJP / OCPJP学习,并且遇到了一个对我来说很奇怪的示例问题。该示例代码实例化了两个通用集合:List<?> list = new ArrayList<?>(); List<? extends Object> list2 = new ArrayList<? extends Object>(); …

List <Dog>是List <Animal>的子类吗?为什么Java泛型不是隐式多态的? - java

我对Java泛型如何处理继承/多态感到困惑。假设以下层次结构-动物(父母)狗-猫(儿童)因此,假设我有一个方法doSomething(List<Animal> animals)。根据继承和多态性的所有规则,我假设List<Dog>是List<Animal>,而List<Cat>是List<Animal&g…

在HashMap <String,String>上循环时出现问题 - java

我有一个基本的HashMap。我正在尝试遍历它,并从Map中获取键和值。这是我所拥有的:Map<String, String> myMap = versionExtractor.getVersionInfo(); for(String key : myMap.keySet()) System.out.println(key); System.ou…