如何为没有(没有主清单属性)的现有maven项目生成jar文件?

问题描述 投票:0回答:1

我是Maven的新手。我对此一无所知。我从Github下载了一个开源Maven项目表格。我在Eclipse中打开它。我只修改了一行以从这种格式修改日期的模式:

final String pattern = "%d{yyyy-MM-dd HH:mm:ss} %-5p - %m%n";

至此

final String pattern = "%d{yyyy-MM-dd HH:mm:ss:SSS} %-5p - %m%n";

然后,我尝试通过]为项目生成jar文件。

Export > Java > Jar file > select the project > select the main class

但是,当我在Mac上从终端运行导出的jar文件时,出现此错误。

Exception in thread "main" java.lang.NoClassDefFoundError: picocli/CommandLine

下载的项目随附的pom.xml使用程序包阴影插件。

<plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-shade-plugin</artifactId>
                        <version>${shade.version}</version>
                        <executions>
                            <execution>
                                <phase>package</phase>
                                <goals>
                                    <goal>shade</goal>
                                </goals>
                                <configuration>
                                    <finalName>name-of-pro-${project.version}</finalName>
                                    <transformers>
                                        <transformer
                                            implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                            <mainClass>name.of.the.package.and.Mainclass</mainClass>
                                        </transformer>
                                        <transformer
                                            implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
                                    </transformers>
                                    <filters>
                                        <!-- This is necessary to avoid a java.lang.SecurityException -->
                                        <filter>
                                            <artifact>*:*</artifact>
                                            <excludes>
                                                <exclude>META-INF/*.SF</exclude>
                                                <exclude>META-INF/*.DSA</exclude>
                                                <exclude>META-INF/*.RSA</exclude>
                                            </excludes>
                                        </filter>
                                    </filters>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>

我也尝试使用以下命令从maven获取jar文件:

mvn clean package

但是,我得到了(没有主清单属性)错误。

no main manifest attribute, in app-0.2.0-SNAPSHOT.jar

我搜索了MANIFEST.MF文件,但我找不到它。

如果缺少某些设置,有没有人可以帮助我?

我是Maven的新手。我对此一无所知。我从Github下载了一个开源Maven项目表格。我在Eclipse中打开它。我只修改了一行以修改此日期的模式...

java maven jar noclassdeffounderror
1个回答
0
投票

您不能只运行一个罐子。

© www.soinside.com 2019 - 2024. All rights reserved.