Jiangshachina
同是Java爱好者,相逢何必曾相识!
a cup of Java, cheers!
::
首页
:: ::
联系
::
聚合
::
管理
::
38 随笔 :: 1 文章 :: 193 评论 :: 0 Trackbacks
<
2006年9月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
公告
留言簿
(3)
给我留言
查看公开留言
查看私人留言
随笔分类
(121)
App Server(1)
(rss)
Applet(2)
(rss)
Concurrency(2)
(rss)
CoreJavaTechTips(2)
(rss)
Database(9)
(rss)
db4o(2)
(rss)
Eclipse(2)
(rss)
English
(rss)
Generic(1)
(rss)
GUI(3)
(rss)
Java(19)
(rss)
JavaEE
(rss)
JavaOne(2)
(rss)
JavaSE(8)
(rss)
JavaTutorials(2)
(rss)
JFreeChart(2)
(rss)
JStockChart(2)
(rss)
JUnit(1)
(rss)
Maven(5)
(rss)
MySQL(5)
(rss)
NetBeans(1)
(rss)
Oracle(2)
(rss)
Others(11)
(rss)
SunTechDays(3)
(rss)
Swing(1)
(rss)
Translation(14)
(rss)
UnitTest(1)
(rss)
Unix(4)
(rss)
翻译(14)
(rss)
随笔档案
(39)
2008年9月 (1)
2008年8月 (1)
2008年7月 (2)
2008年6月 (2)
2008年5月 (2)
2008年4月 (1)
2008年2月 (1)
2007年12月 (1)
2007年11月 (2)
2007年10月 (2)
2007年9月 (1)
2007年7月 (1)
2007年6月 (3)
2007年5月 (1)
2007年4月 (1)
2007年3月 (1)
2007年1月 (1)
2006年12月 (1)
2006年11月 (1)
2006年10月 (1)
2006年9月 (3)
2006年8月 (9)
文章分类
Concurrency
(rss)
Java
(rss)
Java SE
(rss)
Attach
搜索
积分与排名
积分 - 51334
排名 - 165
最新评论
1. re: JStockChart--Preview
评论内容较长,点击标题查看
--Sha Jiang
2. re: JStockChart--Preview
评论内容较长,点击标题查看
--Sha Jiang
3. re: JStockChart--Preview
我就没看出与JFreeChart的区别来
--lzycxy
4. re: JStockChart--Preview
不错, 不过和楼上的问题一样,关注数据来源 ...
--rubyol
5. re: JStockChart--Preview
比较感兴趣,但是不知这个股市信息的数据源从哪获得呢?
--softwave
6. re: JStockChart--Preview
强大的不是JStockChart,而是JFreeChart ^_^
--Sha Jiang
7. re: JStockChart--Preview
不错!很好,很强大,想法很好!有时间多交流!
--Jack.Wang
8. re: 判定一个点是否在三角形内(原)
评论内容较长,点击标题查看
--Sha Jiang
9. re: 判定一个点是否在三角形内(原)[未登录]
楼主至少提出了一种方法
--nile black
10. re: 判定一个点是否在三角形内(原)
评论内容较长,点击标题查看
--长老
阅读排行榜
1. Maven入门--概念与实例(原)(4173)
2. Maven入门--较复杂的实例(原)(2888)
3. 使用Callable返回结果(译)(2341)
4. Maven Weed(原)(2157)
5. Continuum入门--实例(原)(2132)
6. Rock Star 2008 -- Chet Haase(译)(2111)
7. 下一代Java Applet插件技术(译)(1610)
8. Rock Star 2008 -- Joshua Bloch(译)(1586)
9. 何时编写单元测试?(译)(1473)
10. 在Linux上安装Oracle10g(原)(1413)
评论排行榜
1. Maven Weed(原)(33)
2. Maven入门--概念与实例(原)(15)
3. Maven入门--较复杂的实例(原)(14)
4. Sun Tech Days 2007 -- Preview(原)(14)
5. Java Tutorials -- Generics(译)(13)
6. Sun Tech Days 2007 -- Day 2(原)(12)
7. Sun Tech Days 2007 -- Day 1(原)(10)
8. Continuum入门--实例(原)(10)
9. "Java"的由来(译)(9)
10. Java Applet不适用于这样的应用?(译)(9)
Maven Weed(原)
Maven Weed
学习、使用Maven的过程中,亲身遇到或看到的一些问题的解决方法。Maven有不少Bug,大家使用时一定要小心。(2007.02.10最后更新)
向本地仓库安装文件
mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>
-DgeneratePom=true -DcreateChecksum=true(需要使用maven-install-plugin 2.2-SNAPSHOT)
打包时,不在META-INF中生成maven目录
使用Maven打包(
mvn package
)时,默认地会在META-INF中生成一个目录maven,里面是一个pom和一个属性文件。如果不想生成这个目录,需要在POM中进行如下配置:
以对于一般应用程序打包,即制作jar包为例
<
build
>
<
plugins
>
<
plugin
>
<
groupId
>
org.apache.maven.plugins
</
groupId
>
<
artifactId
>
maven-jar-plugin
</
artifactId
>
<
configuration
>
<
archive
>
<
addMavenDescriptor
>
false
</
addMavenDescriptor
>
</
archive
>
</
configuration
>
</
plugin
>
</
plugins
>
</
build
>
如果你在打jar包(
mvn package
)时,报如下错误:
[
INFO
]
Failed to configure plugin parameters for: org.apache.maven.plugins:maven-jar-plugin:
2.0
Cause: Cannot find setter nor field in org.apache.maven.archiver.MavenArchiveConfiguration for 'addMavenDescriptor'
这是由于
maven-jar-plugin
的版本不够高(很可能是2.0版本),需要升级到最新的2.1版本。运行命令
mvn -U package
,会先下载最新版本,再执行打包操作。
类似的,对于制作war,ear包,只需要将artifactId换成对应的plugin(
maven-war-plugin
,
maven-ear-plugin
)就可以了。
Javadoc中文乱码
中文操作系统中,JDK1.5.0的Javadoc自动默认支持中文,而且页面中的条目名也都默认为中文显示(在之前的JDK中,这些条目名都默认为英文)。
如是在这种情况下使用命令
mvn javadoc:javadoc
生成Javadoc,则这些条目名将成为乱码。
解决方法:让javadoc插件使用UTF16或Unicode字符集。具体配置的形式如下:
<
build
>
<
plugins
>
<
plugin
>
<
groupId
>
org.apache.maven.plugins
</
groupId
>
<
artifactId
>
maven-javadoc-plugin
</
artifactId
>
<
configuration
>
<
charset
>
UTF16
</
charset
>
</
configuration
>
</
plugin
>
</
plugins
>
</
build
>
Scope
Scope表示了某个依赖关系的适用范围(作用域),共有5个scope。
compile
: 默认的适用范围,表示该依赖关系要应用于所有的classpath。
provided
: 该适用范围非常像compile适用范围。但它表示该依赖关系已经由JDK或某个容量提供,如javax.servlet。
runtime
:表示该依赖关系不用于编译阶段,而只使用于运行时阶段,如apache jakarta commons。
test
:表示该依赖关系并不用于实际的应用程序本身,而是该应用的测试程序的编译与运行,如junit。
system
:该依赖关系类似于provided,但必须显示地表示是哪一个容器提供了这个artifact。无法在仓库中找到该artifact。
注意:
[1]具有compile或runtime适用范围的依赖关系中的jar文件,制作war文件时将会被放入WEB-INF/lib目录中。
[2]不推荐使用system适用范围。
将mvn.bat配置为Eclipse外部工具
为了能够在Eclipse环境中运行mvn.bat,需要将它配置为一个外部工具(external tool)。在我的
Eclipse Weed
(配置外部工具)一文中已经提到了如何配置Eclipse External Tools(可先参见该文)。本主题将具体讲述如何将mvn.bat的package Build周期短语配置为外部工具。
[1]主菜单
Run-->External Tools-->External Tools...
[2]先选中
Program
项,再点击左上角的
New launch configuration
按钮
[3]
Name
文本框中输入该外部工具的名称“MvnPackage”
[4]通过
Browser File System...
按钮,向
Location
文本框中输入mvn.bat文件的绝对路径
[5]通过
Variables...
按钮,选择
project_loc
,将向
Working Directory
文本框中输入
${project_loc}
[6]在
Augments
文本域中输入package
这样当你选中一个pom.xml文件后,再运行该外部工具,就相当于对该POM文件文件执行
mvn package
命令。
制作war文件时,过滤文件
使用
maven-war-plugin
制作war文件时,它会先将所有
可能
用于制作war的内容放入
target/
artifactId-version
目录(标准目录结构)下,然后再将这些文件进行打包。这样就有两种方法进行文件过滤:[1]使期望被过滤的文件一开始就不被放入
target/
artifactId-version
目录,即使它成为
不可能
的文件;[2]在制作war文件时,不将期望被过滤的文件加入包中。
[1]实现第一种方法,要对
dependency
进行配置。将不希望加入包的artifact放入
exclusion
参数中,如下脚本所示:
<
dependency
>
<
groupId
>
commons-configuration
</
groupId
>
<
artifactId
>
commons-configuration
</
artifactId
>
<
exclusions
>
<
exclusion
>
<
groupId
>
dom4j
</
groupId
>
<
artifactId
>
dom4j
</
artifactId
>
</
exclusion
>
</
exclusions
>
</
dependency
>
[2]实现第二种方法,要对
maven-war-plugin
进行配置,将
不希望加入包的资源文件(不再称之为artifact)放入
warSourceExcludes
参数中,如下脚本所示:
<
build
>
<
plugins
>
<
plugin
>
<
groupId
>
org.apache.maven.plugins
</
groupId
>
<
artifactId
>
maven-war-plugin
</
artifactId
>
<
version
>
2.0.1
</
version
>
<
configuration
>
<
warSourceExcludes
>
WEB-INF/lib/dom4j-1.4.jar
</
warSourceExcludes
>
</
configuration
>
</
plugin
>
</
plugins
>
</
build
>
注意:上述方法都不仅仅是过滤掉dom4j的jar文件,它还会过滤掉dom4j所依赖的其它文件(artifact)。
当加载插件时抛NullPointerException
如果仓库中有某个插件的jar文件有问题,则会抛出这样的异常。遇到这样的问题时,必须将这个有问题的插件清除。
可以在执行参数中加上
-X
(如
mvn -X compile
)来获得加载插件的过程,从中可能会发现问题插件。如果还不行,则使用一个新的仓库,再次执行工程。
Install或Deploy源代码
<project>
<build>
<plugins>
<plugin>
<inherited>true</inherited>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
使用如上的脚本即可,但该脚本只能针对jar文件,而不能针对war或ear...文件。
maven-source-plugin并没有提供install或deploy Web工程源代码的goal。
在命令行中设置本地仓库
在使用Maven2命令(
mvn
)时,可以设置本地仓库的路径,该路径将会替代
settings.xml
中设置的本地仓库路径。
如命令,
mvn -Dmaven.repo.local=
Another_Local_Repo
package
注:在Maven1中还可以通过
-Dmaven.repo.remote
设置远程仓库,但目前在Maven2中还不行。
在Maven发行包中找到Super POM文件
所有的POM都默认继承Super POM,该POM定义了Maven标准目录结构。但在Maven的发行包中,这个Super POM是存放在了哪里呢?
这个POM就存放在maven-project的jar文件中。在笔者的机器中,该Super POM的位置是:
Maven_Home
/lib/maven-project-2.0.4.jar/org/apache/maven/project/pom-4.0.0.xml
构建Maven远程仓库
构建Maven远程仓库的方法很多,也很简单。常用的Web服务器(Apache,JBoss,Tomcat,...)都可以用于构建Maven远程仓库;而发布artifact时,也可以使用多种协议(FTP,SFTP,SSH,...)。
此处使用RedHat AS 4.0 + Apache2.0.59,并应用SSH协议向远程仓库发布artifact。
[1]在Apache的DocumnetRoot中新建目录maven2/repo,此处该目录的绝对路径为
/usr/local/apache2/htdocs/maven2/repo
[2]在本地Maven的settings.xml文件中设置Server,语句的形式如下:
<servers>
<server>
<id>myrepo</id>
<username>myuser</username>
<password>mypasswd</password>
</server>
</servers>
myuser/mypasswd是登录远程Linux系统时使用的用户名/密码。
[3]在本地工程的pom.xml中进行如下形式的设置:
<distributionManagement>
<repository>
<id>myrepo</id>
<url>scp://Host/usr/local/apache2/htdocs/maven2/repo</url>
</repository>
</distributionManagement>
此处id必须与前面设置的server中的id一致;scp是使用SSH协议的文件传输命令;Host是远程Linux服务器的IP地址或域名;/usr/local/apache2/htdocs/maven2/repo就是Maven仓库在远程服务器中的绝对路径。
[4]在本地中使用命令mvn deploy发布artifact到远程仓库中。
[5]
启动Apache服务器,
通过地址http://Host/maven2/repo,就可以看到刚刚发布artifact了。
updating...
posted on 2006-09-11 13:37
Sha Jiang
阅读(2157)
评论(33)
编辑
收藏
所属分类:
Maven
评论
#
re: Maven + Continuum Weed
2006-12-04 14:41
zhengoodman
不好意思,弱弱的问一下。我想把web程序部署到tomcat下,要用到什么插件,如何才能下载这个插件?
我看
http://mirrors.ibiblio.org/pub/mirrors/maven2/plugins/org/apache/maven/plugins/maven-deploy-plugin/2.0-alpha-3/
下面有maven-deploy-plugin-2.0-alpha-3.jar包。
而
http://mirrors.ibiblio.org/pub/mirrors/maven2/maven/maven-deploy-plugin/下面有maven-deploy-plugin.jar的1.3版本
。不知应该下载哪个?pom文件应该怎么写?把他自带的pom文件的内容拷过来就行吗?
回复
更多评论
#
re: Maven + Continuum Weed
2006-12-04 20:24
Sha Jiang
这个deploy插件是向Maven远程共享仓库发布artifact时使用的,与Web/App Server没什么特别的关系。
再说使用插件时,只需要在pom.xml中进行声明,不需要自己直接下载。Maven会自动下载Central Repository中存有的artifact(包括它们的pom.xml文件)。
就如我的另一篇文章
http://www.blogjava.net/jiangshachina/archive/2006/11/24/83331.html
中所说的,想向JBoss部署Web应用,就需要使用针对JBoss的Maven插件。
maven-tomcat-plugin也许是你想要的
http://www.codeczar.com/products/maven-tomcat-plugin/
但该插件似乎不在Maven中央仓库中,但你可以在它的主页中直接下载。
Good Luck!
回复
更多评论
#
re: Maven + Continuum Weed
2006-12-05 08:46
zhengoodman
我自己也没搞清楚。昨天问完后,看资料才知道deploy是干什么用的。有没有好的讲maven2的教程或网站,推荐一下啊。
你写的4篇关于maven的文章我都看过了。有的还看了好几遍。哈哈。
以后还请多多关照啊。
回复
更多评论
#
re: Maven + Continuum Weed
2006-12-06 11:23
Sha Jiang
我的关于Maven的文章其实还比较简单,上次说的一篇较复杂的文章也一直没时间写完。唉~~~
不过,本周就准备写完,哈哈~~~
关于Maven2的好网站?
只能是官方网站了,哈哈
其实更好的地方是它的官方Mail List。你可以加入,然后在里面提问。
我就是这样的,不懂就问嘛。老外还是很热心的,确实获益良多。
关于Maven2的好书?
不得不推荐一下《Better Build with Maven》
这本书是免费的,网上应该早就传开了。
它的官方获取地址:
http://www.mergere.com/m2book_download.jsp
也可以下载到书中的源代码,非常不错 :D
回复
更多评论
#
re: Maven + Continuum Weed
2006-12-07 10:21
zhengoodman
非常感谢,你真热心。
回复
更多评论
#
re: Maven + Continuum Weed
2006-12-07 10:32
zhengoodman
不过你给的链接我访问不了啊,连
http://www.mergere.com这个网址都打不开
。另外,你上次说的那个tomcat的插件我也下载不了啊(没找到下载的地方,倒是看了一天的文档)。你确定
http://www.mergere.com现在还能访问吗
?
回复
更多评论
#
re: Maven + Continuum Weed
2006-12-09 12:59
Sha Jiang
> 你确定
http://www.mergere.com现在还能访问吗
我访问mergere的站点是没问题的。
> 你上次说的那个tomcat的插件我也下载不了啊(没找到下载的地方,倒是看了一天的文档)。
上次我只是简单的搜索了一下,没尝试那个插件。
今天在官方的Mail List中查了一下,发现那个插件已经更名,并且放在了codehause的mojo项目中了。
http://mojo.codehaus.org/tomcat-maven-plugin/introduction.html
回复
更多评论
#
re: Maven Weed
2007-01-08 09:42
fy
请教个问题,我的web项目下有webapp和config两个目录,我想把config中的一个文件,打到webapp.war包的/WEB-INF/下,怎么办呢?
回复
更多评论
#
re: Maven Weed
2007-01-08 17:52
Sha Jiang
我以前也考虑过同样的问题。
但我这个人比较懒,就直接把这个文件放在webapp/WEB-INF目录中 ^_^
那么制作war文件后,它自然就会在正确的位置了。
应该可以使用maven-assembly-plugin达到相同的目的。
http://maven.apache.org/plugins/maven-assembly-plugin/
回复
更多评论
#
re: Maven Weed
2007-01-16 17:18
fy
请教个问题,我用的是:eclipse:3.2.1,maven:2.0.4,org.maven.ide.eclipse:0.0.9.但是在eclipse中执行compile总是错:
INFO] ----------------------------------------------------------------------------
[INFO] Building maven_itms Maven Webapp
[INFO] task-segment: [compile]
[INFO] ----------------------------------------------------------------------------
[INFO] resources:resources
[INFO] Using default encoding to copy filtered resources.
[INFO] compiler:compile
Compiling 132 source files to D:\workspace\maven_itms\target\classes
[ERROR] mojo-execute : compiler:compile
Diagnosis: Compilation failure
FATAL ERROR: Error executing Maven for a project
[ERROR] project-execute : com.novitech.itms:maven_itms:war:1.0 ( task-segment: [compile] )
Diagnosis: Compilation failure
FATAL ERROR: Error executing Maven for a project
org.apache.maven.BuildFailureException: Compilation failure
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:555)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:475)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:454)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:306)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:273)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:140)
at org.apache.maven.embedder.MavenEmbedder.execute(MavenEmbedder.java:441)
at org.apache.maven.embedder.MavenEmbedder.execute(MavenEmbedder.java:382)
at org.maven.ide.eclipse.Maven2Executor.main(Maven2Executor.java:68)
Caused by: org.apache.maven.plugin.CompilationFailureException: Compilation failure
at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:505)
at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:111)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:412)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:534)
... 8 more
但是在cmd中就不会错:D:\workspace\maven_itms>mvn compile
[INFO] Scanning for projects...
[INFO] ----------------------------------------------------------------------------
[INFO] Building maven_itms Maven Webapp
[INFO] task-segment: [compile]
[INFO] ----------------------------------------------------------------------------
[INFO] [resources:resources]
[INFO] Using default encoding to copy filtered resources.
[INFO] [compiler:compile]
Compiling 132 source files to D:\workspace\maven_itms\target\classes
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8 seconds
[INFO] Finished at: Tue Jan 16 17:16:34 CST 2007
[INFO] Final Memory: 4M/16M
[INFO] ------------------------------------------------------------------------
不知道该怎么办?
回复
更多评论
#
re: Maven Weed
2007-01-17 10:18
Sha Jiang
关于你所提到的问题,我并没遇到过。
实际上,我没使用Maven的Eclipse插件。
如果你在CMD中执行命令mvn compile,没有出现问题。那么就可能是Eclipse环境的问题。
[1]使用什么版本的JDK
[2]Eclipse与CMD使用的JRE是否相同?
[3]在Eclipse中编译Java源文件,是否没有任何问题?设置了何种编译器级别?
如果没有上述问题,你就不要使用Maven的Eclipse插件。
而是将mvn命令直接配置为Eclipse的一个外部工具,然后使用该外部工具执行命令mvn compile。
再看看还会出现什么情况。
回复
更多评论
#
re: Maven Weed
2007-01-17 11:28
fy
我把maven设置成了外部工具,问题解决.谢谢!
回复
更多评论
#
re: Maven Weed
2007-01-17 12:47
Sha Jiang
那就可能是这个Maven的Eclipse插件的问题了(至少可能是与你使用的Eclipse版本不兼容)。
刚学习Maven时,也用过这个插件。但当时一方面对Maven不熟悉,一方面这个插件在Eclipse不能正常使用。
后来就一直没有再使用过任何一款Maven的Eclipse插件了。
对于只是运行Maven命令而言,把mvn设置为Eclipse外部命令,应该是足够用了。
回复
更多评论
#
re: Maven Weed
2007-01-18 09:58
fy
Hello!
请问,你知道maven在产生site的时候,能做成中文的吗?我找了好久都没看到有人提到这件事。
回复
更多评论
#
re: Maven Weed
2007-01-18 10:37
Sha Jiang
这个问题我也没考虑过。
不过可以想像,Maven默认使用英文。而要生成中文页面,肯定要把这些英文全部使用中文替换吧。
做国际化的时候,不是经常使用多语言的资源文件嘛。
但Maven可能没提供这方面的接口 :(
回复
更多评论
#
re: Maven Weed
2007-04-20 14:53
Joeaniu
maven调试的一个小tip: 不要一次定义过多的内容,从最简单的pom.xml开始,一小块一小块的添加,以便定位问题。
回复
更多评论
#
re: Maven Weed[未登录]
2007-12-19 16:52
新手
Tests run: 128, Failures:[color="#FF0000"] 2, Errors[/color]: 0, Skipped: 0
[color="#FF0000"][ERROR] mojo-execute : surefire:test[/color]
Diagnosis: There are test failures.
[color="#FF0000"]FATAL ERROR: Error executing Maven for a project[/color]
[color="#FF0000"][ERROR] project-execute : L2Emu:l2j-gameserver:jar:1.0.0 ( task-segment: [assembly:assembly] (aggregator-style) )[/color]
Diagnosis: There are test failures.
[color="#FF0000"]FATAL ERROR: Error executing Maven for a project[/color]
[color="#FF0000"][ERROR] reactor-execute : F:\L2jserver\L2Emu_GameServer[/color]
Diagnosis: There are test failures.
[color="#FF0000"]FATAL ERROR: Error executing Maven for a project[/color]
[INFO] ------------------------------------------------------------------------
[color="#FF0000"][ERROR] BUILD ERROR[/color]
[INFO] ------------------------------------------------------------------------
[INFO] There are test failures.
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 minutes 52 seconds
[INFO] Finished at: Wed Dec 19 08:08:25 GMT 2007
[INFO] Final Memory: 9M/22M
[INFO] ------------------------------------------------------------------------
[color="#FF0000"][INFO] Error for project: Unnamed - L2Emu:l2j-gameserver:jar:1.0.0 (during org.apache.maven.plugins:maven-surefire-plugin:2.3:test)[/color]
[INFO] ------------------------------------------------------------------------
[INFO] There are test failures.
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[ERROR] reactor-execute : F:\L2jserver\GameServer
[color="#FF0000"]FATAL ERROR: Error executing Maven for a project[/color]
[color="#FF0000"][INFO] BUILD ERRORS[/color]
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 minutes 52 seconds
[INFO] Finished at: Wed Dec 19 08:08:25 GMT 2007
[INFO] Final Memory: 9M/22M
[INFO] ------------------------------------------------------------------------
我要升成jar的包.但老是出错..
以前能用的.都没动过什么东西.
.就这两天用不了
Eclipse 我不太懂.问下这个是哪出错了..要如何解决
回复
更多评论
#
re: Maven Weed[未登录]
2007-12-19 16:55
新手
[ERROR] mojo-execute : surefire:test
Diagnosis: There are test failures.
FATAL ERROR: Error executing Maven for a project
[ERROR] project-execute : L2Emu:l2j-gameserver:jar:1.0.0 ( task-segment: [assembly:assembly] (aggregator-style) )
Diagnosis: There are test failures.
FATAL ERROR: Error executing Maven for a project
[ERROR] reactor-execute : F:\L2jserver\L2Emu_GameServer_CT1
Diagnosis: There are test failures.
FATAL ERROR: Error executing Maven for a project
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] There are test failures.
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 minutes 52 seconds
[INFO] Finished at: Wed Dec 19 08:08:25 GMT 2007
[INFO] Final Memory: 9M/22M
[INFO] ------------------------------------------------------------------------
[INFO] Error for project: Unnamed - L2Emu:l2j-gameserver:jar:1.0.0 (during org.apache.maven.plugins:maven-surefire-plugin:2.3:test)
[INFO] ------------------------------------------------------------------------
[INFO] There are test failures.
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[ERROR] reactor-execute : F:\L2jserver\L2Emu_GameServer_CT1
FATAL ERROR: Error executing Maven for a project
[INFO] BUILD ERRORS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 minutes 52 seconds
[INFO] Finished at: Wed Dec 19 08:08:25 GMT 2007
[INFO] Final Memory: 9M/22M
[INFO] ------------------------------------------------------------------------
我要升成jar的包.但老是出错..
以前能用的.都没动过什么东西.
.就这两天用不了
Eclipse 我不太懂.问下这个是哪出错了..要如何解决
回复
更多评论
#
re: Maven Weed[未登录]
2007-12-19 16:56
新手
还要能关掉Maven的test 功能吗.如果能的话.关掉后升成的jar能不能用呢
回复
更多评论
#
re: Maven Weed
2007-12-19 21:26
Sha Jiang
> 还要能关掉Maven的test 功能吗
没问题,完全可以不执行test,在执行的命令中加上属性,-Dmaven.test.skip=true,即可。
> 如果能的话.关掉后升成的jar能不能用呢
生成artifate与是否执行test无关,所以可以放心使用。
回复
更多评论
#
re: Maven Weed[未登录]
2007-12-19 21:29
新手
但是我用的是pom.xml......我要如何改呢...命令部分不我不太会
回复
更多评论
#
re: Maven Weed[未登录]
2007-12-19 21:30
新手
还有上面那人是什错.能告诉我 如何解决吗.
回复
更多评论
#
re: Maven Weed
2007-12-20 09:24
Sha Jiang
> 但是我用的是pom.xml......我要如何改呢...命令部分不我不太会
pom.xml肯定是要的,但你是如何执行mvn命令的?是使用Maven的Eclipse插件?
使用Maven,就是针对指定的pom.xml文件执行mvn命令;就如使用Ant,就是针对指定的build.xml文件执行ant命令。
针对你的pom.xml文件,试试命令mvn -Dmaven.test.skip=true package
回复
更多评论
#
re: Maven Weed
2007-12-20 09:33
Sha Jiang
> 还有上面那人是什错.能告诉我 如何解决吗.
应该是你的测试程序本身有问题,导致了test失败。
你先不做test,看看能不能执行成功。然后再只执行test,再分析会是什么问题。
回复
更多评论
#
re: Maven Weed[未登录]
2007-12-20 15:49
新手
我是用Eclipse的Maven插件直接执行pom.xml文件的.所以命令要怎么打.打在哪我不知道..你教下吗.
你能加我QQ吗125789067 远程帮我看下..都几天了.还没搞好.我对Eclipse和Maven都不是很熟悉.操作不来.
pom.xml是别人编好的.以后我运行就能自动生成jar.但最近几天不知道出什么问题.生成时一直接提示有错.......但程序本身没问题.我问过制作程序的人.生成部份应该没办法.暂时除了我之外.还没有人反应升成不起来...
回复
更多评论
#
re: Maven Weed[未登录]
2007-12-20 15:51
新手
Tests run: 128, Failures: 2, Errors: 0, Skipped: 0
[ERROR] mojo-execute : surefire:test
Diagnosis: There are test failures.
FATAL ERROR: Error executing Maven for a project
[ERROR] project-execute : L2Emu:l2j-gameserver:jar:1.0.0 ( task-segment: [assembly:assembly] (aggregator-style) )
Diagnosis: There are test failures.
FATAL ERROR: Error executing Maven for a project
[ERROR] reactor-execute : F:\L2jserver\L2Emu_GameServer
Diagnosis: There are test failures.
FATAL ERROR: Error executing Maven for a project
提示有两个错.但就是不知道是哪错了.东西太多.看不到哪出错
回复
更多评论
#
re: Maven Weed
2007-12-20 17:15
Sha Jiang
> 我是用Eclipse的Maven插件直接执行pom.xml文件的.所以命令要怎么打.
> 打在哪我不知道..你教下吗.
我没有使用Maven的Eclipse插件。
但你能否先用命令去执行一下?先不管什么Eclipse插件了。
> 你能加我QQ吗125789067 远程帮我看下
我一般不用QQ,特别是在上班时。
如果可以的话,加我的MSN:jiangshachina@hotmail.com
回复
更多评论
#
re: Maven Weed
2007-12-20 17:17
Sha Jiang
> L2Emu:l2j-gameserver:jar:1.0.0
这是你们的工程的artifact吗?
从上述信息中,看不出来原因。
回复
更多评论
#
re: Maven Weed[未登录]
2007-12-21 11:15
新手
Tests run: 2, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 0.14 sec <<< FAILURE!
testCreationWithStatSet
---(net.sf.l2j.gameserver.templates.TestL2NpcTemplate) Time elapsed: 0.094 sec <<< FAILURE!
junit.framework.AssertionFailedError: expected:<UNKNOWN> but was:<null>
at junit.framework.Assert.fail(Assert.java:47)
at junit.framework.Assert.failNotEquals(Assert.java:282)
at junit.framework.Assert.assertEquals(Assert.java:64)
at junit.framework.Assert.assertEquals(Assert.java:71)
at net.sf.l2j.gameserver.templates.TestL2NpcTemplate.testCreationWithStatSet(TestL2NpcTemplate.java:91)
at net.sf.l2j.gameserver.templates.TestL2NpcTemplate.testCreationWithStatSet(TestL2NpcTemplate.java:91)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:213)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:138)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:163)
at org.apache.maven.surefire.Surefire.run(Surefire.java:84)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:244)
at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:814)
出错的好像是这里....不过我看不懂.帮我看下..MSN我不会用.郁闷
回复
更多评论
#
re: Maven Weed[未登录]
2007-12-21 11:16
新手
testCreationWithDefaultValueForSomeStats(net.sf.l2j.gameserver.templates.TestL2NpcTemplate) Time elapsed: 0 sec <<< FAILURE!
junit.framework.AssertionFailedError: expected:<UNKNOWN> but was:<null>
at junit.framework.Assert.fail(Assert.java:47)
at junit.framework.Assert.failNotEquals(Assert.java:282)
at junit.framework.Assert.assertEquals(Assert.java:64)
at junit.framework.Assert.assertEquals(Assert.java:71)
at net.sf.l2j.gameserver.templates.TestL2NpcTemplate.testCreationWithDefaultValueForSomeStats(TestL2NpcTemplate.java:154)
at net.sf.l2j.gameserver.templates.TestL2NpcTemplate.testCreationWithDefaultValueForSomeStats(TestL2NpcTemplate.java:154)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:213)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:138)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:163)
at org.apache.maven.surefire.Surefire.run(Surefire.java:84)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:244)
at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:814)
还有这里.两个错误..
回复
更多评论
#
re: Maven Weed
2007-12-21 12:30
Sha Jiang
没有成功地通过单元测试,可能是应用程序不对,也可能是测试程序有问题。
这些都是JUnit的问题,与Maven无关。
回复
更多评论
#
re: Maven Weed[未登录]
2007-12-21 12:56
新手
无关的话 那要如何解决呢.
或者pom.xml这种文件.能用别的软件生成jar吗.
回复
更多评论
#
re: Maven Weed
2007-12-21 14:20
Sha Jiang
> 或者pom.xml这种文件.能用别的软件生成jar吗.
如果仍然使用pom.xml,那么就必须使用Maven。
但也可以使用其它的build工具,如Ant,制作jar文件。
其实,根据你的情况,可能只是在执行build的过程未能通过单元测试罢了,你不执行这个测试,看能不能完成build工作,并制作出jar文件。
其实,我前面已经说了几次,请你先跳过test这一步,看看执行mvn命令有能否成功。
整个命令(mvn -Dmaven.test.skip=true package)也都给你了。你能否尝试一下呢?!
回复
更多评论
新闻频道
新用户注册
刷新评论列表
标题
姓名
主页
验证码
*
内容(请不要发表任何与政治相关的内容)
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
该文被作者在 2008-04-06 16:21 编辑过
成果网帮您增加网站收入
相关链接:
网站导航:
博客园
BlogJava
博客生活
IT博客网
C++博客
PHP博客
博客园社区
管理博客
教师博客
天文博客
汽车博客
足球博客
股票博客
电子博客
管理
相关文章:
Maven入门--较复杂的实例(原)
Maven插件使用收集(原)
Maven Weed(原)
Continuum入门--实例(原)