java - 如何在 list 中设置主类 header

标签 java apache maven compilation

我在 Java Maven 中创建了一个简单的项目。我可以通过以下方式运行这个项目:

1:

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

但我想通过以下方式运行它:

2:

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

要通过第二种方法运行它,我需要更改 list 文件。我正在使用 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 插件 documentation 。 您需要在 .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>

关于java - 如何在 list 中设置主类 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23029657/

相关文章:

java - 困惑的java ThreadPool和ReentrantLock

java - 如何检索 Realm 中的用户名

java - GCP 数据流快速入门运行 WordCount 示例时出错 : Unknown lifecycle phase ".mainClass=org.apache.beam.examples.WordCount"

tomcat - maven t7mp tomcat 插件管理器应用程序

java - 打印 Action 中定义的变量

java - 类 AnnotationLiteral 的独立版本?

python - 我如何在我的网络服务器上运行这个 python 脚本? TorBulkExitList.py

reactjs - React-router 键入 url 并在 tomcat 上刷新,elastic beanstalk

c++ - apache 和 cgicc - 区分 post 和 get 变量

java - 东方DB "Cannot find a command executor for the command request"错误