maven maven-war-plugin 解决java war项目间的依赖(两个war都可独立部署运行,maven 3.2.x亲测)

时间:2022-04-22 13:31:04

最近整理基础框架,有些项目不想分布式,所以基础框架必须同时可独立部署,也可直接被作为依赖和业务工程打到一起,记录下解决war项目依赖的要点,一开始用warpath,结果报找不到,有些帖子还是17年的,于是继续查看。

warpath 是个坑,按照网上的说明基本跑不通,可能是maven-war-plugin 升级了不兼容,不建议再去使用warpath了,maven-war-plugin就可以搞定所有的事情了。直接上结果了。

base-webapp

    <build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<!--注意增加这两行,在打包时相关的类会被独立打成jar
<attachClasses>true</attachClasses>
<classesClassifier>api</classesClassifier>-->
<!-- <archiveClasses>true</archiveClasses> --> <!-- 最好不要archiveClasses,否则有些配置的classpath而非classpath*就完了 -->
<attachClasses>true</attachClasses>
</configuration>
<version>3.2.0</version>
</plugin>

XXX-webapp依赖配置:

        <pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<!-- <dependentWarExcludes>WEB-INF/lib/*</dependentWarExcludes> -->
<!-- <archiveClasses>true</archiveClasses> -->
</configuration>
<version>3.2.0</version>
</plugin> <dependencies>
<dependency>
<groupId>com.XXX.YYY</groupId>
<artifactId>base-webapp</artifactId>
<version>1.0.0-SNAPSHOT</version>
<type>war</type>
</dependency>
<dependency>
<groupId>com.XXX.YYY</groupId>
<artifactId>base-webapp</artifactId>
<version>1.0.0-SNAPSHOT</version>
<type>jar</type>
<classifier>classes</classifier>
<scope>provided</scope>
</dependency>

这样XXX-webapp就把所有classes和静态资源都打包进去了,但是默认还会生成target/work目录,这个后面再看,现在没时间看。

还没有整合为spring boot,后面再细化整理。

maven maven-war-plugin 解决java war项目间的依赖(两个war都可独立部署运行,maven 3.2.x亲测)的更多相关文章

  1. 3&period;2 Dependencies of the Projects in the Solution 解决方案中项目间的依赖项

    3.2 Dependencies of the Projects in the Solution 解决方案中项目间的依赖项 The diagram below shows the essential ...

  2. 彻底解决java WEB项目的文件路径问题&lpar;war包&rpar;

    在j2EE项目中,我们通常会把项目打包公布,通常是war包,作为独立单元,能够远程上传,载入,公布,还能够实现版本号控制,但这与我们开发过程中使用MyEclipse自己主动部署有所不同,下面做具体说明 ...

  3. 解决Java Web项目中Word、Excel等二进制文件编译后无法打开的问题

    今天写新项目的时候遇到一个问题,在resources目录下存储的.xlsx文件,编译过后会增大几kb,无法打开. Google了一番之后,发现问题源自于maven-resources-plugin这个 ...

  4. 使用 maven&colon;archetype 创建JSF2 &plus; EJB3&period;1 &plus; JPA2项目骨架并在JBoss WildFly 8&period;1上部署

    运行下面命令创建项目骨架: mvn archetype:generate -DarchetypeGroupId=org.jboss.spec.archetypes -DarchetypeArtifac ...

  5. 怎样解决Java Web项目更改项目名后报错

    作为企业级开发最流行的工具,用Myeclipse开发java web程序无疑是最合适的,有时候,我们需要web工程的项目名,单方面的改动工程的项目名是会报错的,那么该如何改web工程项目名呢? 简 单 ...

  6. 解决java web项目导入后出现的问题 ---cannot be read or is not a valid ZIP file

    导入以前的web项目后会出现以下三个错误: 1. Archive for required library: ‘WebContent/WEB-INF/lib/readme.txt’ in projec ...

  7. java ee项目用gradle依赖打包

    plugins { id 'java' id 'eclipse' id 'idea' id 'application' } //mainClassName = ConnectionElasticSea ...

  8. 在Java Web项目中,不用ActionContext类来获得tomcat部署项目的绝对路径

    例子:sendIosApns.class.getClassLoader().getResource("").getFile().replaceAll("%20" ...

  9. JAVA 设置模块间的依赖关系

    项目目录概况 Demo01项目 Test01.java package com.sam.demo01; public class Test01 { public void ShowTest01() { ...

随机推荐

  1. Magic xpa 2&period;5发布 Magic xpa 2&period;5 Release Notes

    Magic xpa 2.5發佈 Magic xpa 2.5 Release Notes Magic xpa 2.5 Release NotesNew Features, Feature Enhance ...

  2. 太可爱了!CSS3 &amp&semi; SVG 制作的米老鼠钟表

    米老鼠是大家非常熟悉的迪斯尼动画形象.这是一个可爱的效果,结合 CSS & SVG 图形实现的米老鼠钟表效果.Web 技术让很多生活中的事物都能搬到网上去,后面的推荐阅读也有很多的效果,感兴趣 ...

  3. 学习总结——DOM

    DOM(Document Object Model),即文档对象模型.DOM是针对HTML和XML文档的一个API,它描绘了一个层次化的节点树,允许开发人员添加.移除和修改页面的某一部分.在定义方面, ...

  4. javascript中的hasOwnProperty和isPrototypeOf

    hasOwnProperty:是用来判断一个对象是否有你给出名称的属性或对象.不过需要注意的是,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员.isPrototypeOf ...

  5. Codeforces Round &num;246 &lpar;Div&period; 2&rpar;——D题

    KMP算法,没写出来,完全不理解NEXT数组.现在理解了很多 答案都在程序中 ,不过这个思想真的很神奇, 还有毛语不好,一直没看懂题目,现在懂了, 大概是:S中前缀等于后缀,求其长度,和其在S中出现了 ...

  6. Codeforces Round &num;261 &lpar;Div&period; 2&rpar;459D&period; Pashmak and Parmida&amp&semi;&num;39&semi;s problem(求逆序数对)

    题目链接:http://codeforces.com/contest/459/problem/D D. Pashmak and Parmida's problem time limit per tes ...

  7. UNIX网络编程——客户&sol;服务器程序设计示范(二)

        TCP并发服务器程序,每个客户一个子进程 传统上并发服务器调用fork派生一个子进程来处理每个客户.这使得服务器能够同时为多个客户服务,每个进程一个客户.客户数目的唯一限制是操作系统对以其名义 ...

  8. 用redis的scan命令代替keys命令,以及在spring-data-redis中遇到的问题

    摘要 本文主要是介绍使用redis scan命令遇到的一些问题总结,scan命令本身没有什么问题,主要是spring-data-redis的问题. 需求 需要遍历redis中key,找到符合某些pat ...

  9. 设计模式&lt&semi;2&gt&semi;------工厂模式和抽象工厂模式------创建型

    简单工厂: 拿我们的简单三层举例子 先定义dal层 class Dal { public void Delete() { } } 工厂类 class Factory { //这样掉的好处是 当dal层 ...

  10. Python3&period;7中urllib&period;urlopen 报错问题

    import urllib web = urllib.urlopen('https://www.baidu.com') f = web.read() print(f) 报错: Traceback (m ...