Tag: maven assembly plugin

组装WAR的Maven错误:使用纯Java Based Configuration构建SpringMVC项目时不需要webxml属性,也没有xml的

我正在开发一个纯Java基于配置的Spring MVC项目。 当我进行Maven干净安装时,我收到以下错误。 无法在项目上执行目标org.apache.maven.plugins:maven-war-plugin:2.2:war(default-war)SpringMVC-ShoppingCart:汇编WAR时出错:需要webxml属性(或预先存在的WEB-INF / web .xml如果在更新模式下执行) – > [帮助1] 该错误表明缺少web.xml ,但由于我使用的是基于纯Java的配置,因此我没有。 如何确保项目在没有web.xml情况下构建和创建war文件?

使用多模块项目开始使用Maven程序集插件

我们有一个人和我们一起使用maven-assembly-plugin打包所有依赖项。 他已离开公司,我正试图弄清楚他是如何做到这一点的。 我刚刚学习maven-assembly-plugin。 我们的应用程序分为Maven POM项目和相关的模块项目。 在下面的示例中,我已经包含了运行时模块项目。 我尝试在我的应用程序中创建一个名为runtime的模块项目,但是当我做出任何更改时,它会失去与父项目的关联。 我们正在使用Netbeans。 +- pom.xml +- Simulator +- pom.xml +- comms +- pom.xml +- src +- main +- java +- framework +- pom.xml +- src +- main +- java +- core +- pom.xml +- src +- main +- java 这就是我想要创建的: +- runtime +- pom.xml +- src +- assemble +- assembly […]

如何从模块的子模块创建Jar?

我有这个java maven项目结构 – parentModule – firstChildModule – firstChildModule – firstChildModule – secondChildModule -> **jar** – thirdChildModule – thirdChildModule – thirdChildModule 我想将secondChildModule模块打包为包含其子模块的jar。 我试图将包装类型设置为pom,但抛出一个例外,说明值为’jar’的’打包’无效。 所以我的问题是如何以正确的方式做到这一点? 我提到只有thirdChildModule模块类型将包含源代码。 这里是firstChildModule,secondChildModule和的源代码 firstChildModule parentModule com.company 1.0.0-SNAPSHOT 4.0.0 com.company firstChildModule pom secondChildModule secondChildModule com.company firstChildModule 1.0.0-SNAPSHOT ../pom.xml 4.0.0 com.company secondChildModule pom Second Child Module thirdChildModule01 thirdChildModule02 thirdChildModule0 thirdChildModule secondChildModule com.company 1.0.0-SNAPSHOT 4.0.0 com.company […]

java maven重建依赖

我有一个项目,它有依赖A.项目正在打包到WAR和依赖A – 进入jar。 另一个依赖B,也依赖于A.我想打包项目,当项目B打包时,它必须重建其依赖A而不是获得编译依赖。 请帮忙,我怎样才能做到这一点

Log4j2自定义插件 – 使用Maven Assembly Plugin进行注释处理

我对Maven不太熟悉,我昨天开始使用它,但我喜欢它。 在我的项目中,我使用Log4j2库进行日志记录,由于高级插件(如appender,转换器)的不足, 我需要使用自定义插件 。 log4j-api和log4j-core (还有一堆其他库)作为依赖项添加到与我的项目关联的pom.xml中。 实际上我使用的是Log4j的2.0版本。 Log4j使用注释处理来预加载标记为@Plugin类。 据我所知,在较早版本的log4j中,必须在pom.xml中指定其他插件条目才能触发插件处理,或者必须在配置文件中的packages属性中键入包含自定义插件的packages ( https:/ /logging.apache.org/log4j/2.x/manual/configuration.html#ConfigurationSyntax )。 但是自2.0-rc2以来,这不受支持。 在v2.0中,只要log4j-core可用于构建引擎,就应该自动完成。 myproject-0.0.1-SNAPSHOT.jar / META-INF / org / apache / logging / log4j / core / config / plugins /中有一个文件Log4j2Plugins.dat ,它包含我的自定义插件的映射 – 没关系。 对于使用Maven进行构建,我还使用了Maven Assembly Plugin 。 它的目标single是捆绑到package阶段。 打包项目后,我自然在目标目录中有一个额外的jar – myproject-0.0.1-SNAPSHOT-jar-with-dependencies.jar 。 但是,此jar中的Log4j2Plugins.dat文件包含原始插件的映射,与log4j-core库中的文件相同。 这就是问题,因为它没有任何对我的自定义插件的引用。 似乎来自myproject-0.0.1-SNAPSHOT.jar的文件被log4j库中的原始文件覆盖,但我不确定是什么情况。 因此,当我运行myproject-0.0.1-SNAPSHOT-jar-with-dependencies.jar时 ,log4j无法从我的项目中找到插件类。 我认为myproject-0.0.1-SNAPSHOT.jar运行正常,但是如果没有依赖项我就无法运行它。 配置中的packages属性应该在2.0.1版本中重新启用,但如果我不想等待发布,我必须使用注释处理方法。 你知道如何解决它吗? 我尝试使用log4j的2.0-rc1版本运行它,其中配置元素的packages属性可用。 结果是: […]

Maven – 聚合的“全部”或“父母”项目?

出于教育目的,我已经建立了一个像这样的项目布局(为了更好地适应日食): -product | |-parent |-core |-opt |-all Parent包含一个包含core,opt和all的聚合项目。 Core实现了应用程序的强制部分。 Opt是可选部分。 所有这些都应该将core与opt结合起来,并将这两个模块列为依赖项。 我现在正在尝试制作以下工件: 产品core.jar添加 产品核心src.jar 产品的核心与 – dependencies.jar 产品opt.jar 产品-OPT-src.jar 产品选择与 – dependencies.jar 产品all.jar在 产品全src.jar 产品全有,dependencies.jar 他们中的大多数生产相当简单。 我确实有一些聚合工件的问题。 我已经设法在’all’模块中使用自定义程序集描述符生成product-all-src.jar,该模块下载所有非传递deps的源代码,这样可以正常工作。 这项技术还允许我使用all-with-dependencies.jar。 然而,我最近发现您可以在源插件中使用source:aggregate目标来聚合整个聚合项目的源。 对于javadoc插件也是如此,它也通过父项目的使用进行聚合。 所以我在’all’模块方法和放弃’all’模块之间徘徊,只使用’parent’模块进行所有聚合。 在’父’中产生一些聚合工件并且在’all’中产生其他产品感觉不干净。 有没有办法在父项目中制作’product-all’jar,或者在’all’项目中聚合javadoc? 或者我应该保留两者? 谢谢

如何从maven程序集插件中排除依赖项:jar-with-dependencies?

Maven的程序集插件可以创建一个大jar,包括所有依赖于descriptorRef jar-with-dependencies 。 如何排除其中一些依赖? 好像它没有这样的配置? 还有其他解决方案吗?

如何在maven中创建zip目标而不是jar?

有人可以帮我在maven中创建一个zip目标而不是jar。 我尝试了几种方法,但无法进步。 给定路径中的描述符文件如下: zip src/main 我的pom文件中的程序集插件部分如下: maven-assembly-plugin src/assembly/descriptor.xml 最终产出: [INFO] — maven-jar-plugin:2.4:jar (default-jar) @ sql1 — [INFO] Building jar: C:\Divakar\mvn_project\sql1\target\sql1-0.1.jar [INFO] ———————————————————————— [INFO] BUILD SUCCESS

如何在使用proguard-maven-plugin后组装项目

我正在尝试在打包我的应用程序时添加一个混淆步骤。 我认为我必须在编译器插件和程序集之间插入Proguard插件(程序集只将我的所有应用程序和依赖项放入一个jar中)。 myApp org.apache.maven.plugins maven-compiler-plugin 3.2 1.7 1.7 com.github.wvengen proguard-maven-plugin 2.0.11 obfuscation-packaging package proguard 5.2 true true false true ${project.build.finalName}.jar ${project.build.finalName}.jar true ${java.home}/lib/rt.jar … net.sf.proguard proguard-base 5.2 maven-assembly-plugin 2.4 create-executable-jar package single assembly.xml myApp.Main 编译工作正常,混淆也是如此,但是程序集似乎是用正常的jar而不是混淆的jar。 如果需要,这是我的assembly.xml: with-dep jar false true runtime false ${project.build.outputDirectory} 最后,myApp.jar被混淆了,但myApp-with-dep.jar不是……我也确切地说我不太确定我的proguard插件的配置。 如果你看到一些奇怪的东西,说出来。 谢谢你的时间。

如何强制maven将我的项目打包为1.5?

我正在尝试编译一个maven项目,源代码使用Generics和Java 1.5的其他特性,从而导致我的构建失败 在我的POM.xml我为源和目标属性配置了针对1.5的构建配置,但这并没有解决我的问题 我的POM.xml正确的,还是我错过了什么? 谢谢 4.0.0 MyClass uk.co.mydomain MyClass 1.0 MyClass maven-assembly-plugin 1.5 1.5 src/main/resources/dist.xml src/main/resources/META-INF/MANIFEST.MF sun-repo-2 http://download.java.net/maven/2/ true false 在确定构建时的输出 generics are not supported in -1.3 (use -source 5 or higher to enable generics)