最近想下载一些开源项目看,但是下载来发现这些开源项目都是用MAVEN构建的,不会用MAVEN恐怕运行不了,所以我就找来MAVEN的资料,能成功构建并运行这些开源项目,但是MAVEN的机理仍就是一头雾水,所以在这里,以我下载的其中某一个开源项目为例子总结一些问题问问大家:我下某开源项目结构是这样
根目录:src 和 pom文件
src目录:main site 和 test 三个目录
main目录:config目录 程序用到的主要配置文件
java目录:源代码
resources目录:一些资源文件,比如hibernate配置文件
webapp目录:主要的页面,web.xml等等
site目录:不清楚里面东西干什么的
test目录:单元测试用例目录Eclipse目录结构应该是
根目录:src来自于src/main/java
WEB-INF来自于src/main/webapp
META-INF新创建
WEB-INF下的classes下的配置文件来自于src/main/config目录maven项目和eclipse项目中结构存在巨大差异,然后运行eclipse:eclipse生成了project和classes文件以及settings文件,可以从eclipse导入了,但是导入进去只不过是eclipse能导而已,却不能运行,因为目录结构还是上面的一种,虽然所有代码都能编译了,但是这个项目不是一个动态web项目,无法发布到eclipse集成的tomcat中。我想问的问题:1、如何从maven项目构建到eclpise项目过程中(eclipse:eclipse)能够转变成下面的可直接发布并运行的结构。
2、对于一个项目而言,尤其是发布到社区的开源项目或者提交给客户的程序源代码,我觉得以下面的目录结构存在就挺好,很方便,如果以上面的maven目录结构存在,有什么优势?
3、通常构建一个项目是应该以maven目录结构存在还是应该先以Eclipse目录结构存在。
(1)先以maven目录存在的问题在于,你很难测试和开发,因为创建一个项目通常在Eclipse中,默认生成了标准的下面的目录结构,直接发布就能使用。
(2)先以eclipse目录存在比较符合常理,“我们先开发,等到发布才考虑如何打包的问题”,但是网上找不到关于eclipse项目转换成maven项目的方法,只有由maven项目转eclipse项目的方法。
4、最终,我没能成功从Eclipse中使用这个项目,我从命令行mvn package打包项目,发布后能运行,在执行mvn命令的时候,通常有一个pom文件,该文件描述了执行过程,但是我在文件中只看到了项目名称,打包类型等信息,还有jar包依赖等信息,但是没有看到在哪里配置调用mvn package命令时候,在maven项目中文件到war包项目中文件目录位置变换的对应关系,那么这个关系是maven已经固化好了还是有什么其它机制?
5、mvn是由插件组成的,那么比如我运行mvn package是不是从mvn库中同时下载运行package的插件以及项目构建依赖的jar包到.m2库中,一个是工具本身,一个是被构建项目组成部分。
根目录:src 和 pom文件
src目录:main site 和 test 三个目录
main目录:config目录 程序用到的主要配置文件
java目录:源代码
resources目录:一些资源文件,比如hibernate配置文件
webapp目录:主要的页面,web.xml等等
site目录:不清楚里面东西干什么的
test目录:单元测试用例目录Eclipse目录结构应该是
根目录:src来自于src/main/java
WEB-INF来自于src/main/webapp
META-INF新创建
WEB-INF下的classes下的配置文件来自于src/main/config目录maven项目和eclipse项目中结构存在巨大差异,然后运行eclipse:eclipse生成了project和classes文件以及settings文件,可以从eclipse导入了,但是导入进去只不过是eclipse能导而已,却不能运行,因为目录结构还是上面的一种,虽然所有代码都能编译了,但是这个项目不是一个动态web项目,无法发布到eclipse集成的tomcat中。我想问的问题:1、如何从maven项目构建到eclpise项目过程中(eclipse:eclipse)能够转变成下面的可直接发布并运行的结构。
2、对于一个项目而言,尤其是发布到社区的开源项目或者提交给客户的程序源代码,我觉得以下面的目录结构存在就挺好,很方便,如果以上面的maven目录结构存在,有什么优势?
3、通常构建一个项目是应该以maven目录结构存在还是应该先以Eclipse目录结构存在。
(1)先以maven目录存在的问题在于,你很难测试和开发,因为创建一个项目通常在Eclipse中,默认生成了标准的下面的目录结构,直接发布就能使用。
(2)先以eclipse目录存在比较符合常理,“我们先开发,等到发布才考虑如何打包的问题”,但是网上找不到关于eclipse项目转换成maven项目的方法,只有由maven项目转eclipse项目的方法。
4、最终,我没能成功从Eclipse中使用这个项目,我从命令行mvn package打包项目,发布后能运行,在执行mvn命令的时候,通常有一个pom文件,该文件描述了执行过程,但是我在文件中只看到了项目名称,打包类型等信息,还有jar包依赖等信息,但是没有看到在哪里配置调用mvn package命令时候,在maven项目中文件到war包项目中文件目录位置变换的对应关系,那么这个关系是maven已经固化好了还是有什么其它机制?
5、mvn是由插件组成的,那么比如我运行mvn package是不是从mvn库中同时下载运行package的插件以及项目构建依赖的jar包到.m2库中,一个是工具本身,一个是被构建项目组成部分。
解决方案 »
- struts2 输入校验 测试 (有经验的朋友进来聊聊)
- 怎么利用土豆提供的API获取它的视频信息
- 纯java登录校内
- getHibernateTemplate().save() 报告异常,帮忙看下,非常感激
- 关于hibernet一对多关联的问题
- 抽象类到底在实际中怎么应用。
- 请教关于使用socket实现xml通信的问题
- 用应用程序组装工具,把tomcat里面/webapps/myapp/WEB-INF/classes/*.class中所有的servlet添到“Web模块 -> 文件 -> 类文件”里面,假设
- 关于调用sybase存储过程的问题,我肯定是格式不对,在线等,很简单
- 哪有JB8 正式的企业版下载?(不要试用版)100分
- 使用hibernate出现"堆栈溢出"?
- Hibernate中可以把一张表的几个属性封装成一个list么?在线等!
和packaging=jar
这些都是默认配置好的。
如果这样说的话,在我的eclipse中加入ant.xml和ivy.xml也能统一管理依赖,利用ant可以把项目从eclipse结构转成可发布到服务器的结构
如果用maven,要先把eclipse项目转成maven项目结构,然后在maven项目下运行mvn package才能生成最终的war。多转一次目录结构阿
maven文档看了不少了,我要的不是这个,而是你们自己的理解
还是不行,如果我运行mvn eclipse:eclipse -Dwtpversion=1.5,其直接在maven项目根目录下创建.classpath和.project文件,按照我的理解,应该在target下创建一个文件夹,那个是webapp的根目录,classpath和.project文件以及web-info文件夹在那个目录下,导入那个目录,而原maven工程结构不变化以保证将来能构建其他类型的包,难道我的理解有误?
另外开发一个web项目的话,肯定是先有Eclipse项目,因为Eclipse项目可以方便的开发调试,为什么没有从Eclipse工程转到maven工程的方法,难道要手动拷贝文件,那稍微修改一点代码就要重新考文件阿