【发布时间】:2014-06-07 22:13:43
【问题描述】:
问题在标题中。 我成功地先做一个罐子(项目包装罐子)....然后我在 id do 之前移动它
mvn 清洁
把它放在别处。
或者我是一个战争项目,所以我必须将项目打包重命名为战争,然后我必须做一个
mvn 全新安装
我得到了我的战争。然后我从我的战争中导入第一个要使用的 jar。
有没有更清晰的方法可以使用 maven shade 插件来生成 war 和 jar。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<finalName>${project.artifactId}-final</finalName>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.clb.genomic.lyon.external.MainExternal</mainClass>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.handlers</resource>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.schemas</resource>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.tooling</resource>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
包装如下
战争/罐子
在文件开头的项目描述中,每次我抛出 maven 时我都必须更改它。
谢谢
【问题讨论】:
-
我想你想将你的一些代码添加到一个 jar 中,然后将它添加到战争中?
-
我正在尝试使用 Runtime.exec stackoverflow.com/questions/23223909/… 的 Spring bean 执行我的 jar。当我使用我的 2 步方法时它正在工作,但它有点麻烦。我希望在创建战争的同时仅从 mvn clean install 生成具有打包依赖项的 jar,然后我从我的 Web 应用程序中的 RunTime.exec() 调用它来执行一些后台进程(邮件,解析大文件)...
标签: java maven-3 war executable-jar maven-shade-plugin