Maven实用总结
来源:互联网 发布:主播就是网络乞丐 编辑:程序博客网 时间:2024/05/17 06:59
使用Maven还是推荐IDEA,以前用eclipse总是喜欢出现乱七八糟的问题,具体错误和解决方案也记不清楚了。
下面总结下IDEA中遇到的问题和解决方法:
与IDEA搭配的相关问题
如何根据模板快速创建Maven项目
在创建过程中,properties属性中增加一个
archetypeCatalog = internal
详细请点此
默认JDK1.5的问题
增加配置:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.7</source> <target>1.7</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins></build>
结合Mybatis无法加载配置文件
<resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> <resource> <directory>src/main/resources</directory> </resource></resources>
同理还有testResources配置
使用jetty插件运行web项目修改依赖模块无效
<plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> <version>6.1.9</version> <configuration> <contextPath>/web-name</contextPath> <scanTargets> <scanTarget>src/main/webapp/WEB-INF</scanTarget> </scanTargets> <connectors> <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"> <port>8087</port> <maxIdleTime>60000</maxIdleTime> </connector> </connectors> </configuration></plugin>
对于多模块项目,如果修改的是依赖模块的类,就要将该模块install一下再运行.
jetty:run虽然不以打包成war的方式运行,但运行前会去编译与解析子项目,当本地库有了子项目的jar依赖就不会报错,并且web加载的依赖是本地库jar包,而不是从依赖模块的编译目录加载类,所以修改了依赖模块的类,如果没有install更新到本地库,web的加载不是更新类。
当然修改本web的类还是没必要在父项目install,因为jetty:run不会打包本web模块的类成jar,而是从本web模块的编译目录来加载类。
只编译api接口部分
编写一个client.pom.xml文件
增加如下配置
<plugin> <artifactId>maven-jar-plugin</artifactId> <configuration> <includes> <include>**/user/api/**</include> </includes> </configuration></plugin>
命令:clean deploy -f client.pom.xml -Dmaven.test.skip=true
windows自动打包脚本
如果svn在内网,nexus部署在外网,没用jenkins的话,可以写一个脚本方便打包
color 02 set project=%~n0 set curdir=%~dp0 set partition=%curdir:~0,1% cd %curdir:~0,20% D:@echo build train-share...cd devData\common\train-sharecall mvn clean deploy -Dmaven.test.skip=true@echo build train-user-server...cd ..\..\server\train-user-servercall mvn clean deploy -Dmaven.test.skip=truecall mvn clean deploy -f client.pom.xml -Dmaven.test.skip=trueset nowDate=%date:~0,4%%date:~5,2%%date:~8,2%echo 开始拷贝jar包至桌面 ================================= if exist "%userprofile%\Desktop\" ( REM 适用于Win7系统 xcopy F:\repo\cn\pxzs\train\train-share\0.0.1-SNAPSHOT\train-share-0.0.1-SNAPSHOT.jar %userprofile%\Desktop\%nowDate% /Y /N xcopy F:\repo\cn\pxzs\train\train-user-server\0.0.1-SNAPSHOT\train-user-server-0.0.1-SNAPSHOT.jar %userprofile%\Desktop\%nowDate% /Y /N xcopy F:\repo\cn\pxzs\train\train-user-server-api\0.0.1-SNAPSHOT\train-user-server-api-0.0.1-SNAPSHOT.jar %userprofile%\Desktop\%nowDate% /Y /N) echo jar包已经拷贝至桌面 ================================= echo; pause
为不同环境打包
不同环境下需要构建不同的包 点此查看具体
注意:
maven会自动下载相关依赖,当你发布到服务器上时,要小心那些看不见的依赖包
0 0
- Maven实用总结
- maven实用
- 简单maven实用配置
- Maven实用命令
- maven实用命令
- Maven实用详解
- Maven最实用settings.xml
- maven总结
- Maven总结
- Maven总结
- Maven 总结
- maven总结
- maven总结
- maven总结
- Maven 总结
- Maven总结
- maven总结
- maven总结
- 格点统计问题(UVALive 3295,UVALive 3720)
- aspose.slides添加文本框代码反编译
- pwnable.kr [Rookiss]
- swoole
- 现有 mtk8735 mtk8163 mtk8127 mtk6735量产方案 核心板方案 mtk系列平台
- Maven实用总结
- 第五届蓝桥杯扑克序列
- Sublime Text 3 安装、使用Package Control
- ubuntu下安装cmake及cmake简单使用
- UIAppearance的使用
- RxAndroid和RxJava的简单使用
- C语言控制台贪吃蛇
- Java基础进阶_day01_(构造方法,this关键字,匿名对象)
- Thrift