Maven运行提示Not a Mavenmaven web projectt maven-web-demo

他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)Maven运行提示Not a Maven project maven-web-demo_百度知道
Maven运行提示Not a Maven project maven-web-demo
!,所以点空白处新建的一个!自搜无果,pom配置没问题的,新建时选的也是war
之前一个时同样错误
我有更好的答案
这个报错已经很明显了啊,你这压根就不是一个maven项目,你看看你项目的左上角,是个J,W,还是M,是M才是maven项目
采纳率:79%
来自团队:
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)博客分类:
大家都知道,在进行J2EE项目的开发过程中,在调试阶段如果只是修改了页面是不需要重启应用服务器的,比如不需要重启Tomcat。只需要在浏览器中进行页面刷新即可。其实之所以不用重启Tomcat等应用服务器,其根本原因是因为我们可以在应用服务器的配置文件中设置虚拟目录,这样就可以知道web项目所在的目录,于是就可以省去打包、然后再重新发布到服务器的步骤。
为什么不需要重启呢?
在Eclipse中开发j2ee项目,所有的jsp文件都是放在WebRoot目录下面,用户需要把所有用到的jar包放到WEB-INF(WebRoot的子目录)目录下的lib目录下(这就是没有用maven管理的缺点,所有jar都要自己去找);Eclipse编译时,会把java源代码产生的class文件放到WEB-INF目录的classes目录下。所以大家在应用服务器中指定虚拟目录时,直接指定到WebRoot目录就行了,这样在调试过程中,如果只修改了jsp文件,则不需要重启服务器,刷新页面,就可以看到修改后的效果。
一. 在没有用Maven管理项目时,在Eclipse中将一个项目发布到Tomcat是非常方便的。
如果是一个web项目,那么只需要在Eclipse中的Servers View中简单的添加(因为Eclipse能够检测到web项目),
选中想要添加的web项目,然后点击Finish按钮即可。
如果不是web项目,有两种解决方法:
第一种是也在Eclipse的Servers View中添加一个Server,然后直接点击Finish按钮。然后在Eclipse的Servers View中双击刚添加的Server,并点击Add External Web Moudle按钮,并直接找到该项目的绝对路径然后将其添加到Eclipse中,并指定path路径为src/main/webapp. C:\Users\swang6\workspace\AutoStressTest\ASTWeb\src\main\webapp
第二种方法是通过如下步骤将一个非Web Project修改为Web Project:
右击工程选择properties—&project facets
2. 点击链接"Convert to faccted from..."(注意,该链接只在第一次出现,即在点击过一次后,不再出现)然后选上Dynamic Web Module ,如果Version是2.4,可把Version由2.4改为2.5.(注意如果你当前是使用Tomcat6及Tomcat6以前的版本,不能使用Version3.0, 因为Version3.0支持的JDK是7.0以上的版本,Tomcat6不支持)
然后点击下面的Further configuration available…,弹出Modify Faceted Project窗口此处是设置web.xml文件的路径,输入src/main/webapp,该操作会在src/main/webapp中创建一个新的web.xml文件,即该目录为web项目的虚拟目录. 然后直接和前面提到的操作一样,只需要在Eclipse的Servers view 中增加一个tomcat server, 并直接将web moudle加到该工程中. (注:Further configuration available…链接也是再点击一次后,以后就不会再出现。)
二. 在用Maven管理j2EE项目时
在用Maven管理项目时,也可以使用如上提到的方法。但有人会问,在Eclipse中,如何创建一个Maven的Web项目?如果多个Maven项目之间有依赖,如何在部署到Tomcat的时候将互相依赖的项目也部署进去?
问题1: 如何在Eclipse中创建一个Maven的web项目。(为了让更多的人了解怎么创建有相互依赖关系的Maven项目,即有父子关系,下面以一个这样的例子为例说明)
Eclipse中安装maven插件:m2e -
2 . 创建一个maven 的web 项目:
使用eclipse直接创建maven的web项目:
1):在eclipse建立一个maven项目,弹出窗口选着webapp, 点击next,输入相关的信息就行。在下面的对话框中选择maven-archetype-webapp。 我们假定该项目为parent项目,注意parent项目的packaing必须是pom,如果是war,因为我们这个地方创建的是一个web项目,默认的packaging方式是war,所以需要将其改为pom
&groupId&com.wsheng&/groupId&
&artifactId&wsheng-spring-base&/artifactId&
&packaging&pom&/packaging&
2)在有的Eclipse版本中,可能需要自己手动创建如下3个源文件:分别为:src.main.java,src.test.java和src.test.resources
3)在第一步结束后,你会发现现在Eclipse的工作区间中多了一个maven的project项目:wsheng-spring-base。
4)右击wsheng-spring-base,选择创建一个Maven 的module
输入module名字为wsheng-spring-mvc, 同1)一样,选择创建一个maven-archetype-webapp的web项目。
5) 创建结束后,wsheng-spring-base和wsheng-spring-mvc都是maven的web项目,当然你知道可以在Eclipse的Servers View中New 一个Server,你会发现,Eclipse中你可以直接部署这两个项目到Tomcat中,所以他们也就是Web项目了。这种方法是最简单的方法。直接可以在Eclipse中修改页面文件,会自动部署到Tomcat中而不用重启Tomcat。
特别需要注意的是,不要执行mvn eclipse:eclipse命令,执行该命令后,会将一个maven的project转化为一个eclipse的project,即此时在eclipse中就不再是一个maven的web project了,就不能直接部署到Tomcat中了。
问题二:如果我们在Eclipse中创建的项目不是像上面一样创建Maven的Web项目,而是普通的项目,怎样将其部署到Tomcat中?
注: 该方法显然很麻烦,直接在Eclipse中创建一个Maven的Web项目是多么的简单,但介绍该方法主要是为了让大家明白Eclipse中部署项目到Tomcat的本质所在。有兴趣的朋友不妨一试。
1. 可以参照上面的《第二种方法是通过如下步骤将一个非Web Project修改为Web Project:》现将一个非maven的web项目转化为一个maven的web项目。如现在有一个testMaven的project我们经过转换,将其转化为一个Maven的Web项目后。
2. 创建的几个java类和一个abc.jsp页面进行测试。
(其中target目录是用来存放项目打包之后生成的文件的目录,图一中显示target目录下并没有文件,是因为我们还没有用maven对项目进行打包。)
运行打包命令:mvn clean package 【对项目进行打包】
运行此命令后,项目的结构如图二:
执行上面的命令后你会发现图二中target目录下多出了几个子目录和文件,这是因为运行命令mvn clean package后,生成的文件默认会放在target目录下。其中testMaven.war文件可以直接拷贝到应用服务器如Tomcat的发布目录下,启动服务器可以直接运行!但在开发阶段,相信不会有人这么调试web项目!因为这样不停的拷贝到Tomcat中太麻烦了!!!
其实如果你认真观察,你会发现生成的子目录testMaven也是一个完整的web应用,展开后如图三:
根据前面所说的,如果我们能够制定一个web项目的虚拟目录,直接将其部署到Tomcat中即可。 在此例子中虚拟目录应该是 “D:/EclipseWorkspace/testMaven/target/testMaven”。但这样的话,有一个缺点,那就是每次只要修改了项 目中的文件,即使是jsp文件或者静态页面,你都要运行mvn clean package命令重新打包;要不然你的修改就不会更新到target目录下的文件中去!这样的话感觉比较麻烦,万一忘了执行此命令就刷新页面,发现没有看到修改后的效果,找问题都不好找!因为maven遵循“约定优先于配置”的思想。所以一般所有的页面都是放在目录webapp下面的,就我这例子而言也是 如此!图二和图三都是执行了mvn clean package命令之后的项目的目录结构,认真观察可以发现在webapp的子目录WEB-INF下面除了页面的源文件,并没有classes目录和lib目 录!要是有的话,那直接把虚拟目录指定到此webapp目录下即“D:/EclipseWorkspace/testMaven/src/main /webapp”那该多好,就不用每次修改了页面都需要运行命令mvn clean package之后才能看到效果!
对于这个问题是可以解决的,由于maven遵循“约定优先于配置”的思想,所以如果不做特殊配置,它约定默认是把打包之后产生的文件都放在target目录下的。要想改变此默认行为,我们修改在项目中的pom.xml文件。在此项目中,添加如下配置:
&!-- 更改maven默认的打包目录:将class文件和lib目录打包放到指定的目录 --&
&artifactId&maven-war-plugin&/artifactId&
&configuration&
&webappDirectory&${basedir}/src/main/webapp&/webappDirectory&
&warSourceDirectory&${basedir}/src/main/webapp&/warSourceDirectory&
&/configuration&
&/plugins&&/build&
4. 在Pom文件中增加如上命令后运行打包命令mvn clean package,项目的目录结构图如图四:
从图四可以看到,webapp的子目录WEB-INF下面多出了classes和 lib目录。这样的话,如果你只修改了页面,就不需要再执行mvn clean package命令对项目进行打包了(因为页面的源文件都直接在webapp目下的),直接享受修改页面即可刷新页面的快捷了(但是如果修改的是java文 件,则还是需要执行mvn clean package命令重新打包的;同理每次修改了pom.xml文件也是一样,即也需要重新执行mvn clean package)!
总之:该方法一旦启动tomcat后,如果只是jsp页面的变化,不需要重新运行mvn clean package 命令,而如果是修改了java代码后,不需要将tomcat停掉,只需要运行 mvn clean package命令即可。会自动部署。
附:不使用Eclipse怎样创建Maven的项目?
使用命令行: mvn archetype:create -DgroupId=my.maven.test -
DartifactId=testMaven
-DarchetypeArtifactId=maven-archetype-webapp
该篇文章的另一个重要的主题:如何在Eclipse中将两个有Dependency的Maven Project关联起来:
比如现在有一个maven web项目:storeweb, 该项目可以直接部署在Tomcat中,但该项目本身又直接依赖另一个maven 项目,如store_rest项目,该项目为storeweb项目为store_rest项目提供Rest风格的API.那么在将storeweb项目部署到Tomcat的时候,同时也需要将store_rest部署到Tomcat中,可以使用下面的方法:分为2步,第一步是Add maven Dependencies,第二步是Add project dependencies.
4.1 Add maven dependencies
Right click the web project “properties” -------& click the “Deployment Assembly” ----&
Click add button
4.2 Choose Java Build Path Entires ---& click Next
4.3 Choose Maven Dependencies------&
Add project dependencies, Click add button
4. 5: Choose Project-----& Click Next button
Choose your dependencies project -----& Click Finish button
浏览 23021
Josh_Persistence
浏览: 880289 次
来自: 上海
暴露了你的东家,, 哈哈。我没找 ...
VCenter、ESXServer、Cluster这些实体类在 ...
感谢楼主分享
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'eclipse创建maven工程选择maven-archetype-webapp后报错。_百度知道
eclipse创建maven工程选择maven-archetype-webapp后报错。
apache.maven.archetypes:1.archetypes:maven-archetype-webapp:maven-archetype-webapp:RELEASE]The desired archetype does not exist (org.apache.mavenUnable to create project from archetype [org
我有更好的答案
个报错是说你的org.repo);repo\org\apache&#92.archetypes:maven-archetype-webapp:\studyMaven\apache\maven文件夹(E.maven:\studyMaven\Maven--&User Settings查看Local Repository路径(这个就是你settings.xml文件中自定义的仓库路径),找到并在我的电脑中打开该路径(这里我假设是E:RELEASE不存在,这个实际是你创建maven project的时候下载maven-archetype-webapp文件夹中的文件失败,你可以从eclipse中--&window--&Preferences--&gt,删除掉该仓库下的org&#92
采纳率:100%
我也遇到过这个问题,求解
为您推荐:
其他类似问题
工程 archetype eclipse maven webapp的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 maven web demo 的文章

 

随机推荐