我使用的是maven 3.6.1和maven shade plugin 2.3。我已经复制了下面pom文件中的shade插件部分。清单是在创建jar时创建的,但它没有引用主类。我正在使用mvnpackage命令创建jar。对如何解决这个问题有什么想法吗?
<plugin>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</version>
<configuration>
<createDependencyReducedPom>true</createDependencyReducedPom>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.abc.someclass</mainClass>
</transformer>
</transformers>
<!-- exclude signed Manifests -->
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
除了更新的命令行,我还必须添加一个
xml prettyprint-override"> <artifactId>maven-shade-plugin</artifactId>
<version>3.2.3</version>
<configuration>
<shadedArtifactAttached>false</shadedArtifactAttached>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>org.foo.bar.Main</mainClass>
<manifestEntries>
<Main-Class>org.foo.bar.Main</Main-Class>
</manifestEntries>
</transformer>
...
我必须按如下方式运行包命令(即以阴影为目标):
mvn clean package shade:shade
从pluginManagement中移除插件允许我使用以下代码创建阴影jar:
mvn clean package
如标题所示,我想知道如何修改以创建一个唯一的,其中包含所有依赖项(包括kotlin lib)。 我在Groovy中找到了这个示例: 但我不知道我怎么能用kotlin写,除了:
问题内容: 我正在运行Intellij创建的jar。我提取了罐子,发现还有 另一个 清单文件,而不是我在创建工件时指定的清单文件。 当我在IDE中打开清单时,它会正确显示所有内容,但是在创建jar之后,我会得到一个全新的清单文件。 我尝试了其他答案的每个解决方案,但仍然做不正确。为什么创建一个简单的jar是Intellij的任务,应该可以帮助开发人员! 已编辑 有时它在Jar中不包含.class文
我在运行IntelliJ创建的jar时获得。我提取了jar,并观察到有另一个清单文件,而不是我在创建工件时指定的文件。 当我在IDE中打开manifest时,它会正确显示所有内容,但在创建jar之后,我会得到一个全新的manifest文件。 我尝试了其他答案的每一个解决方案,但仍然没有得到正确的答案。为什么在Intellij中创建一个简单的jar是一个地狱般的任务,它本来是用来帮助开发人员的! 有
我试图在NetBeans中建立一个胖罐子。当我点击clean时,它显示以下错误: C:\workspace\travel_agency\nbproject\build-impl.xml:63:源资源不存在:C:\workspace\travel_agency\dist\nblibraries.properties 然后单击错误,它会将我发送到build-imple.xml文件中的以下行:
在运行Java8和Gradle6.3的Linux机器上,我需要构建一个由库混合而成的fat jar,一些库来自Maven Central,其他库来自位于存储库根部的本地目录,以及我的和: 运行和之后,如果我可以看到JAR中没有包含任何依赖项。 我的最终目标是使我的项目可执行为。我该怎么解决这个?
我对如何使用Gradle制作胖罐做了很多研究。但是,我无法弄清楚如何使用Kotlin DSL和插件。我有这个代码: 但是我不知道如何为胖罐子清单指定主类。我遵循的教程是这样做的: 但这是Groovy DSL,而不是Kotlin DSL,我还不太熟悉Kotlin的DSL,所以我不知道如何将其转换为Kotlin DSL。非常感谢你的帮助。