maven的resources插件,有一个filter的作用,能够在打包的时候,从特定文件里读取key-value对,替换配置文件中的占位符变量。很多线上线下有不同环境的应用,都是用这种方式来打包,只需要在文件中配置不同的值即可。下面就是一个最简单的配置:<build> <finalName>Test</finalName> <filter
       在springboot或传统springmvc的tomcat项目中,为了实现spring容器文件中的变量替换,我们通常可以在项目的resource目录下新建几个环境目录,例如rd、test、dev、stress、online等等,然后再在对应的环境目录下放一些数据库的配置文件(例如jdbc.properties)、redis的配置文件(例如re
前言:对于一个项目,开发和生产环境之间会使用不同的配置文件,最简单的例子就是数据库连接池的配置了。当然,可以在打包上线前对配置文件进行替换,不过这也太low了吧。简单的pom.xml中的配置内容比如我们在maven项目中引入了内嵌式的tomcat插件(当然打包方式是要war包),如下代码<!--在build标签中--> <plugins> <plugi
一、变量-自定义变量及内置变量1.自定义变量<properties> <project.build.name>tools</project.build.name> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
打jar包时把依赖打到jar [html] view plain copy 1. <plugins> 2. 3. <plugin> 4. <artifactId>maven-assembly-plugin</artifactId> 5. <conf
转载 22天前
148阅读
基本概念说明(resources、filter和profile):  1.profiles定义了各个环境的变量id  2.filters中定义了变量配置文件的地址,其中地址中的环境变量就是上面profile中定义的值  3.resources中是定义哪些目录下的文件会被配置文件中定义的变量替换,一般我们会把项目的配置文件放在src/main/resources下,像d
   maven中的仓库分为两种,snapshot快照仓库和release发布仓库。snapshot快照仓库用于保存开发过程中的不稳定版本,release正式仓库则是用来保存稳定的发行版本。定义一个组件/模块为快照版本,只需要在pom文件中在该模块的版本号后加上-SNAPSHOT即可(注意这里必须是大写),如下:<groupId>cc.mzone</group
目标:webapp_aggregator为聚合和父pom工程,不包含代码和资源,webapp为主web工程,webapp_module1为子web工程,webapp_common为基础子工程,两个web工程都依赖该工程。打包后webapp和webapp_module1合并为1个war包webapp.war,并且自动发布到tomcat,支持断点调试。依赖关系:webapp->webapp_mo
转载 2月前
31阅读
1.modules需求场景:   如果我们的项目分成了好几个模块,那么我们构建的时候是不是有几个模块就需要构建几次了(到每个模块的目录下执行 mvn 命令)?   当然,你逐个构建没问题,但是非要这么麻烦的一个一个的构建吗? 简单的做法就是使用聚合,一次构建全部模块。   具体使用:   既然使用聚合,那么就需要一个聚合的载体,可以创建一个普通的 maven 项目 account-aggregat
转载 2月前
29阅读
maven的mvn clean package打包xml文件中的占位符解析原因 [url]http://yaozhiqiang109.iteye.com/blog/1901967[/url] Maven 整合 spring profile实现多环境自动切换 [url]http://zilongsky-gmail-com.iteye.com/blog/203
原创 2023-06-04 15:49:49
146阅读
之前没有用到的mybatis 的时候,使用mvn打包完成后,项目的配置文件是在jar包外的,以便于修改;在使用mybatis后,使用mvn打包,发现jar中内含jdbc配置文件,此时要考虑如何把jdbc配置文件给打到包外,且能被项目访问到。1 修改pom文件,将配置文件打到包外指定的文件中pom文件添加修改如下:<sourceDirectory>src/main/java</s
 Maven3种打包方式 maven-jar-plugin,默认的打包插件,用来打普通的project JAR包;maven-shade-plugin,用来打可执行JAR包,也就是所谓的fat JAR包;maven-assembly-plugin,支持自定义的打包结构,也可以定制依赖项等。我们日常使用的以maven-assembly-plugin为最多,因为大数据项目中往往有很
转载 2023-09-10 16:20:46
65阅读
Maven可以使用mvn package指令对项目进行打包,如果使用Java -jar xxx.jar执行运行jar文件,会出现"no main manifest attribute, in xxx.jar"(没有设置Main-Class)、ClassNotFoundException(找不到依赖包)等错误。要想jar包能直接通过java -jar xxx.jar运行,需要满足:1、在j
文章目录 maven-assembly-plugin Assembly 插件支持将项目的所有依赖、文件都打包到同一个输出文件中 基本使用<plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration>
文章目录概述Maven 的工作机制Maven中的坐标说明坐标的向量的取值方式坐标和仓库中jar包的存储路径之间的对应关系命令深入POM含义模型化思想思想落地POM文件详解POM的四个层次超级POM父POM有效POMPOM中属性的声明和引用help插件的各个目标help:evaluate 访问系统属性help:evaluate 访问环境变量help:evaluate 访问project属性help
1. maven-shade-plugin(常用)可以将依赖打进jar包里面,只有一个插件目标shade:shade,通常绑定在package生命周期阶段。1.1 包含或过滤jar包<artifactSet> <excludes> <exclude>junit:junit</exclude> </excludes
直接打包,不打包依赖包直接打包,不打包依赖包,仅打包出项目中的代码到JAR包中。在POM中添加如下plugin即可,随后执行maven install <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId&g
转载 2023-08-01 23:10:11
503阅读
Java与与Maven打包操作Date: 2021-03-24Category很久没有创建新的Spring Boot项目了,创建发现有报错 , 提示xxxjar中没有主清单属性, 这个错误表示在打包后的jar的META-INF/MANIFEST.MF文件中,没有配置Main-Class导致的,编译的依赖是Maven,也在项目中添加了spring-boot-maven-plugin的依赖,生成的M
使用Maven对Web项目进行打包,默认为war包;但有些时候,总是希望打成zip包(亦或其他压缩包),maven-war-plugin插件就无能为力了,这时就用到了maven-assembly-plugin插件了,官方网址:http://maven.apache.org/plugins/maven-assembly-plugin/该插件能打包成指定格式分发包,更重要的是能够自定义包含/排除指定的
1. 关于 Maven 打 war 包 《 使用 Eclipse 的 Maven 2 插件开发一个 JEE 项目 》详细介绍了如何在 Eclipse 使用 Maven 新建一个 JEE 项目并对其进行断点跟踪调试,但是没有介绍如何对 JEE 项目打 war 包。其实很简单,你只需要把 pom.xml 中的 <packaging>jar</packaging> 换成 &lt
转载 7月前
37阅读
  • 1
  • 2
  • 3
  • 4
  • 5