如何解决如何在pom.xml中创建没有插件的可执行jar文件
我正在尝试通过命令行为现有的maven项目创建可执行jar文件。我知道maven-jar-plugin可以通过将插件添加到pom.xml来做到这一点,但是我们不希望添加插件。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>app-export-promotion-client${app.version}/lib/</classpathPrefix>
<mainClass>com.app.setup_promotion.server.manager.PromotionExportManager</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
但是在这里,我们尝试不通过命令行或清单文件在pom.xml中添加插件而实现此目的。
我尝试在src文件中添加带有MANIFEST.MF
文件的Meta_INF文件夹(由于src是我的sourceDirectory,请参见下面的pom.xml),但出现异常
no main manifest attribute
。
有没有办法做到这一点。
pom.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<properties>
<app.version>16.1.2.0</app.version>
</properties>
<groupId>app</groupId>
<artifactId>export-promotion-client</artifactId>
<name>JavaClient Export Promotion Client</name>
<version>16.1-2</version>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<groupId>com.app.maven</groupId>
<artifactId>app-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>sedclasspath</goal>
</goals>
</execution>
</executions>
<configuration>
<prefix>../lib/</prefix>
<sourceFiles>
<sourceFile>bin/ExportPromotion.cmd.template</sourceFile>
<sourceFile>bin/ExportPromotionByRevision.cmd.template</sourceFile>
</sourceFiles>
<targetFiles>
<targetFile>target/bin/ExportPromotion.cmd</targetFile>
<targetFile>target/bin/ExportPromotionByRevision.cmd</targetFile>
</targetFiles>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
<configuration>
<finalName>app-export-promotion-client${app.version}</finalName>
<descriptor>assembly.xml</descriptor>
<attach>true</attach>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
// All Dependency are added here.
</dependencies>
</project>
我正在使用mvn install
创建jar文件。然后我将这个jar文件复制到docker容器中以运行它。我遇到异常 no main manifest attribute
。
Dockerfile入口点:ENTRYPOINT ["java","-jar","export-promotion-client.jar"]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。