簡體   English   中英

如何在清單中設置主類頭

[英]How to set up the main class header in the manifest

我已經在Java Maven中創建了一個簡單的項目。 我可以通過以下方式運行該項目:

1:

java -cp target/MavenTestApp-1.0-SNAPSHOT.jar org.koushik.javabrains.App

但我想通過以下方式運行它:

2:

java -jar target/MavenTestApp-1.0-SNAPSHOT.jar

要通過第二種方法運行它,我需要更改清單文件 我正在使用Maven,因此我認為在這種情況下,我需要更改pom.xml文件。 我的pom.xml文件是:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  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>org.koushik.javabrains</groupId>
  <artifactId>MavenTestApp</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>

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

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

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

我需要添加以下內容:

<mainClass>org.koushik.javabrains.App</mainClass>

但是我不確定在哪里以及如何做到這一點? 您能否也告訴我這行是否不錯:

2:

java -jar target/MavenTestApp-1.0-SNAPSHOT.jar

也許在這行的結尾應該有一些東西還是足夠的? 謝謝。

看一下Maven jar插件文檔 您將需要在.pom中配置類似的內容:

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        ...
        <configuration>
          <archive>
            <manifest>
              <addClasspath>true</addClasspath>
              <mainClass>org.koushik.javabrains.App</mainClass>
            </manifest>
          </archive>
        </configuration>
        ...
      </plugin>
    </plugins>
  </build>
  ...
</project>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM