maven入门项目报错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了maven入门项目报错相关的知识,希望对你有一定的参考价值。

刚下载配置完maven,在命令行新建项目时报错:
建项目的命令为:mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch03 -DartifactId=simple -DpackageName=org.sonatype.mavenbook
报错信息为:
[INFO] Scanning for projects...
[INFO] Building Maven Stub Project (No POM) 1
[INFO] --- maven-archetype-plugin:2.3:create (default-cli) @ standalone-pom ---
[INFO] BUILD FAILURE
[INFO] Total time: 2.728 s
[INFO] Finished at: 2015-04-14T13:36:35+08:00
[INFO] Final Memory: 14M/108M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:2
.3:create (default-cli) on project standalone-pom: Unable to parse configuration
of mojo org.apache.maven.plugins:maven-archetype-plugin:2.3:create for paramete
r #: Cannot create instance of interface org.apache.maven.artifact.repository.Ar
tifactRepository -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit
ch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please rea
d the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginConfigur
ationException

【转】

在stackoverflow找到解决方式如下
mvn archetype:generate -DgroupId=org.sonatype.mavenbook.ch03 -DartifactId=simple -DpackageName=org.sonatype.mavenbook -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

修改start命令为generate

参考网址为http://stackoverflow.com/questions/29147329/unable-to-create-a-new-maven-hello-world-project

原因分析:create is deprecated in maven 3.0.5 and beyond,在maven3.0.5以上版本舍弃了create,使用generate生成项目
参考技术A 我在网上看的,自己试过也行;

把你的建项目的命令为:mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch03 -DartifactId=simple -DpackageName=org.sonatype.mavenbook中

archetype:create命令改成archetype:generate
就可以用了
参考技术B 我也遇到这个错误了 求解答

MyEclipse导入Maven项目pom文件第一行报错,运行Tomcat报Log4j错误--解决方法

问题描述:

前一段时间电脑第一次导入Maven项目,又是pom文件错,改好后又是运行Tomcat报Log4j错误,一直倒腾了近一个月程序才成功跑起来,太不容易。

也上网查了很长时间,没一个方法能解决我的问题的。特记下解决方法,希望能帮到像我这样的web刚入门者。

(刚入门,肯定有说的不对的地方,有错也希望能指出来,我改正)

 前期操作:导入项目后clean,install,update,中会报错(因为我已经解决了,所以没有×)。

两问题对应解决方法:

1.pom文件第一行大红叉,说明是项目的文件指向不正确,看中error的Path,比如../webapp/..的错不用看,这些都是框架中的错,而框架不会错的,所以不用管,除去这些错,看项目本身的错误的地址,并找到这些有错误的文件,将其删掉(不用担心,这些在后期更新时会自动生成,而这些自动生成的就是正确的),除去框架的错的文件全部删完后,再update,再删除,多重复几次上述步骤,pom就不会报错了,成功解决~!

2.启动tomcat,跑不起来,总是有这个

然后卡住,翻译一下就是log4j没有初始化的意思,上网查错误信息,说是没有log4j配置文件,(前提:有log4j包,若没有log4j包,也有可能是缺包的原因,上网下载并添加即可),因此需要在类似如下目录下conf中新建文件,名为log4j.properties

并在其中添加内容

log4j.rootLogger=DEBUG , stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%-d{yyyy-MM-dd HH\\:mm\\:ss} [%c]-[%p] %m%n
log4j.appender.stdout.Target = System.out

### Output to the log file ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = ${scores.root}/WEB-INF/logs/error.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = ERROR
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
log4j.appender.ServerDailyRollingFile=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.ServerDailyRollingFile.DatePattern=\'.\'yyyy-MM-dd 
log4j.appender.ServerDailyRollingFile.File=${scores.root}/WEB-INF/logs/error.log
log4j.appender.ServerDailyRollingFile.layout=org.apache.log4j.PatternLayout 
log4j.appender.ServerDailyRollingFile.layout.ConversionPattern= %-d{yyyy-MM-dd HH\\:mm\\:ss} [ %t\\:%r ] - [ %p ] %m%n 
log4j.appender.ServerDailyRollingFile.Append=true

log4j.logger.com.ibatis=debug
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debug
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=debug
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=debug
log4j.logger.org.mybatis=DEBUG 
log4j.logger.java.sql.Connection=debug
log4j.logger.java.sql.Statement=debug
log4j.logger.java.sql.PreparedStatement=debug,stdout
com.ng.mapper=DEBUG

创建完成后,在类似如下目录中找到web.xml

查找是否有以下语句

<context-param> 
     <param-name>log4jConfigLocation</param-name> 
     <param-value>classpath:conf/log4j.properties</param-value> 
</context-param> 

<context-param> 
     <param-name>log4jRefreshInterval</param-name> 
     <param-value>60000</param-value> 
</context-param> 
<listener> 
     <listener-class> 
          org.springframework.web.util.Log4jConfigListener 
     </listener-class> 
</listener> 

<listener> 
     <listener-class> 
          org.springframework.web.context.ContextLoaderListener 
     </listener-class> 
</listener>

如果有的话,首先查看语句是否完整,监听与声明顺序不能反,不然会报错;其次,查看代码其中的地址有没有错,地址一定是刚才添加log4j.properties配置文件的地址,否则会报Not Found log4j.properties的错误。

如果没有这些代码,就把上述代码加到web.xml中,保存,update,启动tomcat,终于运行成功!!

 

以上是关于maven入门项目报错的主要内容,如果未能解决你的问题,请参考以下文章

maven编译项目报错了?

maven项目报错 pom

MyEclipse导入Maven项目pom文件第一行报错,运行Tomcat报Log4j错误--解决方法

myeclipse创建maven项目后pom文件报错,

maven项目报错

maven新建项目报错,找不到SpringServletContainerInitializer类