maven编译问题:maven编译成功,eclipse文件未编译
我们先来看一个正常的编译流程:
1、从svn上检出一个项目;
2、看该工程是否为maven项目,不是则先转为maven项目:右键单击项目,选择configure->Convert to Maven project
3、用maven编译该项目:右键单击项目,选择Run As->Maven install
以上流程做完,maven打包成功,那么恭喜你,你检出的项目已经可以发布,代码已经编译。但我遇到的问题是,执行Maven install没问题,编译动作也执行了,到输出目录target\classes下也有编译后的class文件,但在eclipse下就是没有编译过的java文件,java图标是空心的。反复折腾了许久,均无法解决问题。比如:右键单击项目,选择properties->Project Facets,选择java后,才能在右键单击项目选择Build Path,然后配置依赖的jar,但无法加载Maven Dependencies,编译是可以了,但全是红叉,漫山遍野的红叉。
最后分析了下,我从svn检出的是一个项目包叫pilingservice,它除了带有pom.xml文件之外,就是4个目录,而这4个目录其实就是4个子项目,他们也都带有各自的pom.xml,结构如下:
pilingservice
|———— piling-api
|———— piling-client
|———— piling-core
|———— piling-war
|———— pom.xml
我正常编译的时候其实跑的是pilingservice下的pom.xml,它里面的配置如下:
<modules>
<module>piling-api</module>
<module>piling-core</module>
<module>piling-war</module>
<module>piling-client</module>
</modules>
右键单击pilingservice项目,选择Run As->Maven install,会根据pilingservice的pom文件去编译piling-api、piling-client、piling-core和piling-war这4个子项目,然后输出他们编译后的包,但是eclipse里这4个子项目的java文件仍是未编译的(java文件图标是空心的)。如果我不是整个pilingservice检出,而是单独检出piling-api,按正常流程编译,java文件的图标是实心的,因为这时候跑的是piling-api项目自己的pom文件。其他子项目也是一样的。
根据eclipse检出时的情况看(见下图),只有pilingservice是maven项目,子项目都还不是:

解决办法有两个,一个是不要通过eclipse的SVN插件检出,直接从本地SVN检出,然后通过File -> Import导入到eclipse,并且导入方式选择Maven -> Existing Maven Projects;一个是从eclipse的SVN检出后,右键点击Services项目,选择Import -> Maven -> Existing Maven Projects -> 选择所有子项目,点击finish,按正常编译后如下图:

maven编译问题:maven编译成功,eclipse文件未编译的更多相关文章
- 【maven】架包下载失败,maven引入架包失败,pom文件未报错,但是引用的注解找不到
出现这种问题 看到这个jar包显示是unkown,不知道版本,所以这样的解决方法就是 1.先查看maven设置是使用的自定义的仓库还是默认的仓库 2.删除掉你引用的jar包下载失败的文件夹 3.然后重 ...
- Eclipse安装反编译工具JadClipse
记录一下安装Eclipse的反编译插件JadClipse的过程: 1.首先准备: 1)JadClipse插件,从网站http://sourceforge.net/projects/jadclipse/ ...
- Linux下多个.c文件的编译和Makefile文件
在编程的时候,我们可以把一个完整程序的每个函数分离出来,写成.c文件,最后再一起编译和链接.这样有利于程序功能模块化,也方便检查代码错误. .h文件:里面编辑该程序需要引用的头文件. #ifndef ...
- 创建预编译头 Debug 正常 Release Link Error:预编译头已存在,使用第一个 PCH
创建预编译头 Debug 正常 Release Link Error Main.obj : error LNK2005: ___@@_PchSym_@00@UmfilkilqUdrmzkkUkilqU ...
- maven本地仓库中存在jar包,但编译不成功,显示jar包不存在
介绍一下背景,项目要迁移进坑人的离线的内网开发,将在同事那编译通过的代码和maven仓库拷进内网,打算编译通过之后再上传私服,结果配好maven之后,本地库中的部分jar包显示没有引入,如下面的波浪线 ...
- 运行maven pom.xml文件后编译环境变为jdk1.5
idea中运行pom.xml文件后,将编译环境变成了1.5,造成一系列的编译问题很是不方便. 以下是解决方法: 在"pom.xml"里加入如下代码: <properties& ...
- maven编译问题-maven项目运行时找不到文件,解决方案之一
问题描述:以上信息是tomcat在启动项目的时候报的错误信息,发现没有找到配置文件,实际上配置文件在项目中是存在的,但是,在编译过程中,配置文件没有能加载到编译后的项目中.就造成了,找不到这些怕配置文 ...
- intellij 编译 springmvc+hibernate+spring+maven 找不到hbm.xml映射文件
1. 错误信息 Invocation of init method failed; nested exception is org.hibernate.MappingNotFoundException ...
- sqpark编译时maven的pom文件内容(org.apachetype.maven.apachetypes:maven.archetypequickstat)
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...
随机推荐
- JavaScript字符串转换为变量名
1.将一个字符串转换为变量名 [javascript] view plain copy print? function string_to_name(string){ let _name = 'var ...
- devstack环境中不能创建cinder volume
刚安装好的devstack环境中无法成功创建cinder volume,创建的volume的status为error:在cinder scheduler中看到失败log:2015-10-15 14:1 ...
- CSS 实现隐藏滚动条同时又可以滚动(转)
CSS 实现隐藏滚动条同时又可以滚动 移动端页面为了更接近原生的体验,是否可以隐藏滚动条,同时又保证页面可以滚动? 使用 overflow:hidden 隐藏滚动条,但存在的问题是:页面或元素失去了滚 ...
- C++ 学习使用
1.C++已经不太建议用#define const用法 定义小函数,不改变内部成员的可以用inline 2.namespace使用 3.C语言预处理 #define这些的使用 #pragma once ...
- MVVM4
原地址(内容更丰富):http://www.cnblogs.com/888h/category/269092.html MVVM架构的简单解析 图1 View.ViewModel.Model之间的 ...
- JSON/JSONP浅谈
一.什么是JSON? JSON 即 JavaScript Object Notation 的缩写,简而言之就是JS对象的表示方法,是一种轻量级的数据交换格式. JSON 是存储和交换文本信息的语法,类 ...
- softmax回归(理论部分解释)
前面我们已经说了logistic回归,训练样本是,(且这里的是d维,下面模型公式的x是d+1维,其中多出来的一维是截距横为1,这里的y=±1也可以写成其他的值,这个无所谓不影响模型,只要是两类问题就可 ...
- Intent Flag启动模式P203
Activity启动模式:点此查看 Intent intent = new Intent(); /** * Intent.FLAG_ACTIVITY_NEW_TASK * 使用一个新的Task来启动一 ...
- ZOJ 3498 Javabeans(找规律)
Javabeans Time Limit: 2 Seconds Memory Limit: 65536 KB Javabeans are delicious. Javaman likes t ...
- sqlserver数据库脱机时发生异常:由于无法在数据库 'SMS' 上放置锁,ALTER DATABASE 失败。请稍后再试。 ALTER DATABASE 语句失败。 (.Net SqlClient Data Provider)
sqlserver数据库脱机时发生异常,如下: =================================== 设置脱机 对于 数据库“SMS”失败. (Microsoft.SqlServe ...