目标:使用maven阴影插件创建一个可执行的uber jar,该插件可以在另一个pom的mvn编译期间执行。
再现步骤:
预期行为:发布者的 Uber jar 被下载到消费者/目标目录中的某个位置
实际:Uber 罐子未出现在消费者目录中
组件 1:发布者
<?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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mec.experiment</groupId>
<artifactId>publisher</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.2.6.Final</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifestFile>src/main/resources/META-INF/MANIFEST.mf</manifestFile>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
组成部分2:消费者
<?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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mec.experiment</groupId>
<artifactId>consumer</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>com.mec.experiment</groupId>
<artifactId>publisher</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
我在评论中链接到的可能重复的答案有一个指向死示例页面的链接。这是给你的补充。插件配置属于消费者pom。
执行:java
全名:
org.codehaus.mojo:exec-maven-plugin:1.5.0:java
说明:在当前 VM 中执行提供的 java 类,并将包含项目的依赖项作为类路径。
属性:
需要执行Maven项目。需要对scope:test中的工件进行依赖项解析。目标是线程安全并支持并行构建。自版本:1.0起。
请特别参阅< code > executable dependency 了解您的用例。看起来它将允许您根据组id和工件引用< code>producer,而不是硬编码一个路径。
我正在使用Maven Shade插件在打包阶段包含所有依赖项。这适用于类,但不包括依赖资源。 以下是依赖罐的布局: 以下是阴影插件配置:
正确地创建了Jar,并且在清单中提到了main类。我有以下几个问题: > 目标文件夹包含classes文件夹,而classes文件夹中有类文件。罐子里也有它们,所以为什么需要它们。我的目标是拥有一个只包含所有依赖项的可执行jar。 这些资源根本没有被添加到jar中。我已经根据网上看到的说明添加了变压器,但是没有用!!! 我完全没有关于如何包含资源的线索。感谢任何帮助!! 编辑:::: 这是我用于m
我正在尝试使用maven-telte-resource-plugin在多模块maven项目中跨模块共享许多资源。不幸的是,共享的二进制资源在捆绑期间被损坏,大概是通过过滤。 我相信,由于从本地存储库中提取共享资源jar时包含损坏的二进制文件,因此在这一阶段会发生损坏。 是否有任何关闭过滤maven-远程资源插件? 目前,我的共享资源模块中的pom看起来像
我有一个多模块Maven项目,它跨模块使用相同的资源文件。我创建了资源项目并将资源添加到src/main/Resources文件夹。这是我的pom.xml文件: 当我做构建时,META-INF/maven/remote-resources.xml文件没有创建。我做错了什么吗?
以下 是对开发kibana 插件有用的资源 IRC channel kibana 官方为大家注册了一个类似聊天室的通道,在这里大家可以获取有用咨询和交流 Freenode Web Client. 文章 contributing guide kibana-plugin-notes(强烈推荐阅读) 视频 Contributors Guide to the Kibana Galaxy Kibana Pl