使用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接口部分

  1. 编写一个client.pom.xml文件

  2. 增加如下配置

<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-share
call mvn clean deploy -Dmaven.test.skip=true @echo build train-user-server...
cd ..\..\server\train-user-server
call mvn clean deploy -Dmaven.test.skip=true
call mvn clean deploy -f client.pom.xml -Dmaven.test.skip=true set 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会自动下载相关依赖,当你发布到服务器上时,要小心那些看不见的依赖包

最新文章

  1. 曲演杂坛--蛋疼的ROW_NUMBER函数
  2. WebService -- Java 实现之 CXF (WebService 服务器端接口)
  3. BRISK: Binary Robust Invariant Scalable Keypoints
  4. ios蓝牙开发(四)app作为外设被连接的实现-转发
  5. url下载网页的三种方法
  6. android-eclipse-phonegap 2..9以下(包含2.9)的项目配置
  7. Ubuntu 修改IP地址网关
  8. Swif基本语法以及与OC比较三
  9. QQ在线咨询状态显示不出来怎么办?http://bizapp.qq.com/webpres.htm
  10. Android入门——UI(2)
  11. 蜗牛—JSP学习乘法表页面输出
  12. linux_之sed用法
  13. where条件的lambda转化为sql语句
  14. GreenDao 使用二
  15. 开源社群系统ThinkSNS+安装部署演示视频!
  16. linux系统优化配置
  17. [Swift]LeetCode703. 数据流中的第K大元素 | Kth Largest Element in a Stream
  18. angular-cli.json常见配置
  19. 深入理解Major GC, Full GC, CMS
  20. 面象对象设计原则之七:合成复用原则(Composition/Aggregate Reuse Principle, CARP)

热门文章

  1. 九度OJ 1535 重叠的最长子串
  2. Tomcat启动报错:org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalin
  3. 关于Redis在Linux手动安装配置
  4. 小程序_RSA加密功能
  5. 主成分分析(PCA)及其在R里的实现
  6. java===java基础学习(11)---继承
  7. c#中char、string转换为十六进制byte的浅析
  8. C++11——Use auto keyword in C++11
  9. 全国省市区数据SQL - 省市区
  10. java中的Map集合