项目中要跑了一个jar工程,每天做一次数据结算。最开始我用的maven-assembly-plugin 打包,发现没什么问题。因为工程中引入了spring,有一处代码需要添加事务,所以就在application中引入了tx。再次打包,运行,提示tx schema 无法加载。百度了一下,因为spring jar中包含了meta/spring.schema 和 spring.handlers,工程启动会通过存在的配置加载命名空间,但是和我需要的却不是一个版本,所以就会找不到对应的命名空间。
又是再次百度,找到了maven-shade-plugin ,到官网看了一下它的使用方式,mvn package 就可以了。
看了一下example ,发现竟然有这样一段配置
Some jars contain additional resources (such as properties files) that have the same file name. To avoid overwriting, you can opt to merge them by appending their content into one file. One good example for this is when aggregating both the spring-context and plexus-spring jars. Both of them have the META-INF/spring.handlers file which is used by Spring to handle XML schema namespaces. You can merge the contents of all the files with that specific name using the AppendingTransformer as shown below:
<project> ... <build> <plugins> <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> <configuration> <transformers> <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> </transformers> </configuration> </execution> </executions> </plugin> </plugins> </build> ... </project>
英文注释 和我百度的解释类似 ,直接copy到了工程pom.xml 中 mvn package 然后java -jar *.jar 运行正常
相关推荐
# Initial Java project with Spring 带有 Spring 框架和 Spring IoC 容器的 Java 项目(依赖注入)。 克隆仓库 ...$ cd sample_java_spring_app Maven 任务 ... $ mvn assembly:assembly -DdescriptorId=jar-
JDk版本: 11.0编译/运行编译//不跳过测试mvn clean package //跳过测试mvn clean package -Dmaven.test.skip = true ps:采用maven-assembly-plugin将所有依赖直接打进包中,最终只生成一个包,方便运行部署运行...
插件系统演示 该项目演示了如何使用 java 打包、maven 构建系统和运行时类加载构建基于插件的简单应用程序。 结构 这是一个多模块的maven项目 ... 转到plugin-app并运行mvn compile assembly:single后
插件系统演示 该项目演示了如何使用 java 打包、maven 构建系统和运行时类加载构建基于插件的简单应用程序。 结构 这是一个多模块的maven项目 ... 转到plugin-app并运行mvn compile assembly:single后
要构建和运行简单的测试服务器: mvn assembly:assemblyjava -jar ./target/jgit-cassandra-0.0.1-SNAPSHOT-jar-with-dependencies.jar <NODE> [NODE....]必须在命令行上传递一个或多个 Cassandra 节点的主机名或 ...
(打开-mpi) 编译: mvn clean package assembly:single --mpi and juniper monitoring modules must be installed to local maven repository将 mpi.jar 安装到本地 Maven 存储库: mvn install:install-file -...
Json 解析是通过 Streaming 完成的,因此它可以处理巨大的 Graphson编译确保您使用的是 Java 7 mvn package mvn assembly:single用法<path> : graphson.json路径<output> :将生成nodes.csv和relationships.csv...
mvn package 要生成具有依赖项的.jar文件,请执行以下操作: mvn assembly:single 使用说明 此工具可转换给定文件夹中包含的所有源代码文件。 您必须使用@AssertTransform批注来批注要转换的方法。 此注释在...
mvn assembly:assembly -DdescriptorId=jar-with-dependencies package 将“ target / farmersmkt-1.0-jar-with-dependencies.jar”上传到S3并在Lambda中使用,或直接在Lambda函数中使用。 设置 要运行此示例技能,...
可执行文件jarseleniumwebdriverdemo 可执行Jar Selenium WebDriver演示 要使用maven生成可执行jar: 在注释提示下键入“ mvn clean compile assembly:single” 或者 在Windows环境中运行package.bat。
编译编译依赖项: mvn compile package assembly:single用法生成示例: 输出文件已在存储库中可用。 它们将被覆盖。 java -cp target/PDFJuice-1.3-SNAPSHOT-jar-with-dependencies.jar org.sj.tools.pdfjuice....
人脸检测人脸检测开发工具、Viola-Jones 实现和一些演示应用程序。 构建演示应用程序: $ mvn compile assembly:single运行演示应用程序: $ java -jar face-detect-app.jar构建为库: $ mvn package
mvn clean package cd target stackato push -n stackato open 行家 appassembler 用于生成一个 distzip 风格的 java buildpack。 distzip 样式的 java buildpack 由 bin/ 目录和 lib/ 目录与 jar 文件发现。 在 ...
MongoDB-Java 博客演示###Prerequisties 要... 相反,如果您想构建一个包含所有依赖项的 jar,请执行assembly:single Maven 目标: $ mvn compile assembly:single###跑步 $ cd YOUR-PROJECT-FOLDER$ mvn compile e
Webapp Runner Webapp运行程序旨在允许您使用简单的java -jar命令将文件系统上的爆炸或压缩战争启动到tomcat...mvn package 执行 java -jar assembly/target/webapp-runner.jar path/to/my/project 或者 java -jar
运行“mvn package assembly:single”编译打包。 请注意assembly:single在最终的 jar 包中包含所有依赖项(获取节点的监管者和获取逻辑功能) 您可以使用“target/”子目录中的 jar。 您可以将 .jar 文件集成到您的...
从存储库的根目录运行mvn clean install以安装所有子模块。 您将在相应的target目录中找到 JAR。 在jplag目录中运行mvn clean generate-sources package assembly:single 。 您将在jplag/target找到带有所有依赖项的...
则在运行转换之前删除输出文件夹作者使用maven编译: mvn package跑步: java -cp "HdfsCsvConverter.jar:/path/to/spark-assembly-1.1.1-hadoop2.4.0.jar" \ hdfs.csvconvert.Converter \ [-master spark://xxxxx:...
这是用来干嘛的? ... 您可以轻松加载所有静态资产,还可以即时编译Coffeescript和LESS! 如何使用它? 您需要设置Java8。...您可以使用pom文件生成jar文件mvn package assembly:single以从下载(解压缩)。
开始报告开始时将电子邮件(带有/不带有指定文件)发送到指定地址建造: mvn package assembly:single 下载:Wiki:用法: java -jar xxx.jar [-c=] [-d] -c :设置StartReport应该使用的配置文件。 默认值为“ cfg....