使用Maven遇到的问题

1 环境变量配置 

原本是好好的。我想重新安装appfuse,就把工程删掉,修改环境变量配置,把我认为不必要的变量删去。运行mvn integration-test时抛出错误:


ERROR: JAVA_HOME is set to an invalid directory.
JAVA_HOME = C:/Program Files/jdk1.5
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation

看来是环境变量出了问题,可是刚才还好好的,怎么半路上抛错呢?我很怀疑是微点的事,因为这中间,微点把java.exe当成了蠕虫病毒来报警。我把微点卸载了。重新配置环境变量,试了很多次,仍是抛错,十分郁闷。

到网上搜索了半天,总算找到了一点线索:http://jira.codehaus.org/browse/MAVEN-1588

到jdk1.5/bin目录下察看一下,没有java.exe这个文件;jre/bin目录下,却有它。于是我把它copy到jdk/bin下,运行mvn --version,恢复正常了,呵呵:)

关键是这句话提醒了我:it looks for %JAVA_HOME%/bin/java.exe, so d:/Sun/Appserver/bin/java.exe probably doesn't exist 。

2 jar:1.0-SNAPSHOT

在web目录下运行mvn jetty:run-war是抛错:

[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Failed to resolve artifact.

Missing:
----------
1) com.mycompany.app:myproject-core:jar:1.0-SNAPSHOT

  Try downloading the file manually from the project website.

  Then, install it using the command:
      mvn install:install-file -DgroupId=com.mycompany.app -DartifactId=myprojec
t-core -Dversion=1.0-SNAPSHOT -Dpackaging=jar -Dfile=/path/to/file

  Alternatively, if you host your own repository you can deploy the file there:

      mvn deploy:deploy-file -DgroupId=com.mycompany.app -DartifactId=myproject-
core -Dversion=1.0-SNAPSHOT -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -Dr
epositoryId=[id]

  Path to dependency:
        1) com.mycompany.app:myproject-webapp:war:1.0-SNAPSHOT
        2) com.mycompany.app:myproject-core:jar:1.0-SNAPSHOT

----------
1 required artifact is missing.

for artifact:
  com.mycompany.app:myproject-webapp:war:1.0-SNAPSHOT

from the specified remote repositories:
  central (http://repo1.maven.org/maven2),
  appfuse (http://static.appfuse.org/repository)

这个jar包可以在myproject/core/target目录下找到,按照提示,运行mvn install:install-file -DgroupId=com.mycompany.app -DartifactId=myprojec
t-core -Dversion=1.0-SNAPSHOT -Dpackaging=jar -Dfile=/path/to/file(此处替换为实际路径和文件名),然后重新运行mvn jetty:run-war

3 java heap space

这个问题的根源是jvm虚拟机的默认heap大小是64M,可以通过设置其最大和最小值来实现.设置的方法主要是几个.

  • 可以在windows 更改系统环境变量
    加上JAVA_OPTS=-Xms64m -Xmx512m
  • 如果用的tomcat,在windows下,可以在C:/tomcat5.5.9/bin/catalina.bat  中加上:set JAVA_OPTS=-Xms64m -Xmx256m,位置在: rem Guess CATALINA_HOME if not defined  这行的下面加合适.
  • 如果是linux系统
    Linux  在{tomcat_home}/bin/catalina.sh的前面,加
    set JAVA_OPTS='-Xms64 -Xmx512'

4  jtidy-r8-20060801.pom


[WARNING] POM for 'org.hibernate:jtidy:pom:r8-20060801:runtime' is invalid. It w
ill be ignored for artifact resolution. Reason: Parse error reading POM. Reason:
 TEXT must be immediately followed by END_TAG and not START_TAG (position: START
_TAG seen ...<licenses>/n/t/t/t<license>... @12:13)  for project org.hibernate:j
tidy at C:/appfuse2/repository/org/hibernate/jtidy/r8-20060801/jtidy-r8-20060801
.pom
[INFO] [appfuse:full-source]
[INFO] [AppFuse] Installing source from web-common module...
[INFO] [AppFuse] Installing source from spring module...

这是一个bug,找到这个文件,打开,看这里:

<licenses>

  <licenses>
       <license>
         <name>Java HTML Tidy License</name>
         <url>http://svn.sourceforge.net/viewvc/*checkout*/jtidy/trunk/jtidy/LICENSE.txt?revision=95</url>
         <distribution>repo</distribution>
      </license> 

   <licenses>
 </licenses>

删去红色的元素。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值