【问题标题】:Maven set compiler source and target plus add manifestMaven 设置编译器源和目标加上添加清单
【发布时间】:2023-04-07 01:00:01
【问题描述】:

我正在尝试使用 maven 中的清单使我的 java 程序可运行,但同时我必须将编译器源和目标设置为 1.8。

我的问题是如何编译这两个?

所以实际上我必须结合这两个版本:

    <build>
    <plugins>
        <plugin>
            <!-- Build an executable JAR -->
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.1.0</version>
            <configuration>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                        <classpathPrefix>lib/</classpathPrefix>
                        <mainClass>com.mypackage.MyClass</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
    </plugins>
</build>

使用编译器源和目标构建

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

【问题讨论】:

  • 每个foos 标签需要多个foo 条目。
  • @ElliottFrisch 这真的可能是一个最小的例子。
  • 谢谢@chrylis-cautiouslyoptimistic-

标签: java maven build


【解决方案1】:
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>

        <plugin>
            <!-- Build an executable JAR -->
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.1.0</version>
            <configuration>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                        <classpathPrefix>lib/</classpathPrefix>
                        <mainClass>org.perfect.PerfectBot</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>

    </plugins>
</build>

【讨论】:

    【解决方案2】:

    你也可以使用:

        <properties>
            <maven.compiler.source>1.8</maven.compiler.source>
            <maven.compiler.target>1.8</maven.compiler.target>
        </properties>
    

    因为这些是 Maven 编译器插件的 compile 目标的 &lt;source&gt; and &lt;target&gt; 的用户属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-16
      • 2019-03-01
      • 1970-01-01
      • 2022-08-23
      • 2013-02-23
      相关资源
      最近更新 更多